Работа с com port в асинхронном режиме

Тема в разделе "WASM.WIN32", создана пользователем KostyaBlg, 27 май 2024.

Метки:
  1. KostyaBlg

    KostyaBlg New Member

    Публикаций:
    0
    Регистрация:
    4 авг 2021
    Сообщения:
    1
    При чтении com порта считывается количество байт равное размеру отведенного буфера (bufrd), а не количество переданных байт. На порту висит FT с замкнутыми RX TX.
    Код:
    invoke ReadFile,
    hComPort,
    addr bufrd, ; Если bufrd == 16 будет принято 16 байт, если bufrd == 64 соответственно 64 байта.
    _btr,
    addr temp,
    addr overlappedRd
    В отладчике получается такая петрушка:
    bufwr = Tx begin!!! (misk.asm, 200) ; Это то что передали.
    temp = 5 (misk.asm, 175) ; temp это количество последовательно принимаемых байт.
    temp = 17 (misk.asm, 175)
    temp = 17 (misk.asm, 175)
    temp = 16 (misk.asm, 175)
    temp = 9 (misk.asm, 175)
    Полный текст функций (ReadThread и WriteThread) в прилагаемом файле.
     

    Вложения:

    • wasm.asm
      Размер файла:
      3,5 КБ
      Просмотров:
      101