использование линии CTS на последовательном USB-адаптере ch341 для управления потоком - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь установить связь с последовательным устройством через usb-последовательный адаптер на основе ch341 (wemos.cc / ch340).Поскольку целевое устройство имеет ограниченный размер буфера, оно использует сигнальную линию, чтобы указать, безопасно ли отправлять байты.

Я подтвердил, что уровень контакта CTS # подключен правильно: состояние вывода:отображается с помощью утилиты «statserial» и распространяется на флаг «Clear To Send» (логически инвертированный, что соответствует «таблице данных» ch341).

Я включаю управление потоком RTS / CTS через CRTSCTSфлаг в tcsetattr (), также установлен флаг CLOCAL, чтобы избежать ожидания сигнала DCD.

Однако, похоже, это не влияет на поведение ch341.При подключении контакта CTS # к VCC или GND ch341 с радостью принимает все данные, отправленные на чип через устройство / dev / ttyUSB0.Я ожидаю, что он будет блокироваться, когда заполнены внутренние буферы чипа, пока CTS # не станет низким, что позволит ему отправлять данные на вывод TX ...

Есть ли что-то, чего мне не хватает?Или CTS не реализован на ch341?

Спасибо,
Саймон.

...