Не знаю... какой-нибудь режим loopback есть? В классическом 16550 он был, win32 api делался под его возможности (похоже)... Снизить скорость до минимума. Тут есть ещё интереснее проблема, проявляющаяся вот в таком сценарии:
0) по линии RXD идёт какая-то передача. 1) открываю порт (он настраивается на скорость и формат, которые в панели управления по умолчанию стоят). 2) порт срабатывает по frame error. 3) пытаюсь установить режим с игнорированием ошибок fAbortOnError=TRUE (или любое другое обращение, скорость поменять) и обламываюсь с ошибкой. 4) если считать что за ошибка и успеть перепрограммировать на нужный формат/скорость, frame error тоже имеет право появиться при непрерывной передаче.
Кто знает, как обойтись в этом сценарии без "успеть" в четвёртом пункте? upd: посмотрел - режима loopback нет. Вот успел всё забыть... Можете очищать буфер приёма. Но, в Вашем случае, Ксения, может не помочь, если purge делается не на самом низком уровне - хотя это всёможно посмотреть, заглянув в исходники в DDK (там serial device есть целиком).
Сообщение отредактировал Genadi Zawidowski - Nov 20 2012, 08:29
|