[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]

Отправлено Беня 05 декабря 2001 г. 20:15
В ответ на: Программирование: Runtime управление настройкой FIFO буферов (UART) при настройке COM порта отправлено antony 05 декабря 2001 г. 19:48

Нужно на время передачи сигнал выставлять. Мне так ничего и не удалось сделать с помощью настроек Windows - даже при отмене буферизации все-равно WriteFile возвращала управление немножечко раньше, чем надо (последний байт "срезался"). Я перед вызовом WriteFile засекал время (с помощью функций QueryPerformanceFrequency и QueryPerformanceCounter или GetTickCount) и вычислял требуемое время передачи, а потом дожидался нужного момента, опрашивая эти функции и узнавая текущее время.
А еще была мысль - каку-нибудь примитивную железку сделать, которая выставляет сигнал, когда идут перепады по TxD, и снимает его, когда какое-то время на TxD сигнал не меняется (т. е. в 1-чке) - передача окончена.

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

Ответы



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

E-mail: info@telesys.ru