[an error occurred while processing this directive]
|
WaitCommEvent, ожидая конца передачи срабатывает при записи последнего байта из буфера в регистр UART, а надо узнавать
_конец передачи байта_, и только после этого менять свойства.
Обход - принимать передаваемый байт и WaitCommEvent настраивать
на приём байта, тогда всё путём (обычно так оно и есть, когда пользуешь RS485).
Правда задержка получалась 7-15 ms. Но ресурсов при этом не кушалось (т.к. использовались только ожидания событий).
Видать это связано с переключением задач в винде. Под 2К задержка практически не плавает, но больше, чем в 98.
Если у кого-нибудь получалось лучше - поделитесь опытом.
ЗЫ: видел прогу, которая использовала активное ожидение, у нее было
время между посылкой байта-заголовка и телом 3-5 мс. Но ресурсов
она жрала немеряно и на тачках <450Mhz не шла.
E-mail: info@telesys.ru