[an error occurred while processing this directive]
Ответ: WaitCommEvent без хитростей не подходит !!!
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено chs 23 сентября 2002 г. 16:59
В ответ на: Ответ: отправлено Алекс VM 23 сентября 2002 г. 16:11

WaitCommEvent, ожидая конца передачи срабатывает при записи последнего байта из буфера в регистр UART, а надо узнавать
_конец передачи байта_, и только после этого менять свойства.

Обход - принимать передаваемый байт и WaitCommEvent настраивать
на приём байта, тогда всё путём (обычно так оно и есть, когда пользуешь RS485).
Правда задержка получалась 7-15 ms. Но ресурсов при этом не кушалось (т.к. использовались только ожидания событий).
Видать это связано с переключением задач в винде. Под 2К задержка практически не плавает, но больше, чем в 98.
Если у кого-нибудь получалось лучше - поделитесь опытом.

ЗЫ: видел прогу, которая использовала активное ожидение, у нее было
время между посылкой байта-заголовка и телом 3-5 мс. Но ресурсов
она жрала немеряно и на тачках <450Mhz не шла.

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

Ответы



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

E-mail: info@telesys.ru