Про COM-порт. Помогите.

Тема в разделе "WASM.ASSEMBLER", создана пользователем Ronin, 20 сен 2004.

  1. Ronin

    Ronin New Member

    Публикаций:
    0
    Регистрация:
    16 сен 2004
    Сообщения:
    5
    Адрес:
    Russia
    Люди, помогите кто может (есть сэнсеи для начинающего?). Писал прогу для принятия данных через COM. Передает один байт, а затем выдает ошибку передачи. Что может быть?
     
  2. Chingachguk

    Chingachguk New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2002
    Сообщения:
    340
    Код (Text):
    1. Что может быть?




    А хрен его знает ;)



    Вот код моей терминалки:





    [​IMG] 1613082974__Termdrv.c
     
  3. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Под че надо? и че делать в целом должно? И с применением какого асма?
     
  4. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Ronin



    ...



    Так передаёт или принимает?
     
  5. Ronin

    Ronin New Member

    Публикаций:
    0
    Регистрация:
    16 сен 2004
    Сообщения:
    5
    Адрес:
    Russia
    Типа терминала. Есть устройство, которое выдает цепочку байт, когда ей посылаешь определенное значение. Один раз это значение передается, а затем ошибка. Писал используя tasm 5. Писал под DOS. Под винду не требовалось.
     
  6. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
  7. Ronin

    Ronin New Member

    Публикаций:
    0
    Регистрация:
    16 сен 2004
    Сообщения:
    5
    Адрес:
    Russia
    Спасибо всем! Очень благодарен за помощь. Буду разбираться. Ведь я только учусь :)
     
  8. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105




    И старайся писать попонятнее. Устройство - оно. А кто такая она (ей посылаеь) ?! Должна выдаваться цепочка, а у тебя тут же написано, что передается значение один раз.

    Один байт из цепочки или один раз цепочка ?!

    Больше всего твоя ситуация похожа на переполнение буфера.

    На эти грабли все наступают. COM-порт - это устройство реального времени. Если в него передают со скоростью 9600 бод, то надо читать байты не медленнее чем 960 раз/секунду. Там правда буфер есть на 16 байт, но его включить надо.
     
  9. Ronin

    Ronin New Member

    Публикаций:
    0
    Регистрация:
    16 сен 2004
    Сообщения:
    5
    Адрес:
    Russia
    valterg

    Один раз устройству управляющий байт передается, а в последующие попытки нет. Для принимаемой цепочки создаю буфер. Ошибка возникает при посылке 2-го управляющего байта.
     
  10. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    А что за ошибка ?! Если комп старый, то мог

    еще наступить на такие грабли : канал после того как

    принял цепочку освобождается после приема

    остатка стопового сигнала ( 1.5 стоп), хотя готовность

    выдает раньше. Правда такое было только

    на COM-портах советского производства на СМ-3

    - назывались платы АДС, но может у тебя тоже

    один из первых буржуйских чипов - там много глюков

    было.
     
  11. Ronin

    Ronin New Member

    Публикаций:
    0
    Регистрация:
    16 сен 2004
    Сообщения:
    5
    Адрес:
    Russia
    Машина не советская. После передачи, которая не сотоялась, AH.7 = 1. Байт не передается. А какая именно ошибка не пойму :dntknw:. В разных источниках, которые я читал, по разному трактуются ошибки. Может опечатка. Какой источник верный не знаю.