[an error occurred while processing this directive] [an error occurred while processing this directive]
Неплохая идея
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Энди 06 декабря 2001 г. 11:38
В ответ на: Ещё вопрос: А если в DCB указать harware контроль RTS(CTS) fRtsControl = RTS_CONTROL_TOGGLE т.е. RTS будет сбрасываться автоматически после передачи буфера. В данном случае, какого буфера? driver или UART отправлено antony 06 декабря 2001 г. 10:31

Достверно ответить не могу, так RTS не пользовал, но думаю, что буфер UARTа, т.е он устанавливается драйвером по прерыванию "THR пуст", когда нечего больше передовать.
Почему я так думаю, ведь пути дяди Била неисповедимы? Часто замыкают RTS-CTS,и в этом случае CTS падает одновременно с RTS и терялся бы смысл квитирования, что-то типа на тебе еще порцию, а переваришь ты ее или нет - твои проблемы.
Но вернемся к нашим баранам. Если использовать RTS для обнаружения конца передачи, то надо коротить RTS-CTS, иначе вообще никакой передачи не будет. К тому же можно использовать событие comEvCTS.
А вообще-то лучше проверить, MS никогда присутствием логики не страдала. Загони чтонибудь в цикле по таймеру в порт и посмотри двухканальным осцилом, что там на самом деле с RTS.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru