koyodza (23.05.2011 14:14, просмотров: 170) ответил ++ на Код ошибки есть ? GetLastError() ClearCommError() Вероятнее всего, неправильная настройка dcb...
есть пару скользких моментов 1. DCB.BaudRate = 115200; // Current baud rate
Положено передавать CBR_115200, а не 115200, хотя CBR_115200 и равняется именно 115200, но в одних ОС (w98 например) Вы можете передать например 115100 и всё будет работать, а в других (ХР/2К) это приведёт к ошибке.
2. DCB.XonLim=4; // Transmit X-ON threshold
DCB.XoffLim=16; // Transmit X-OFF threshold
DCB.XonChar=0x11; // Tx and Rx X-ON character
DCB.XoffChar=0x13;
довольно спорны. В ХР установка этих значений иногда приводит к невозможности инициализации порта, поэтому я просто оставляю их по-умолчанию (вызываю ::GetCommState() перед заполнением нужных полей DCB)
3. Управление DTR и RTS может различаться в зависимости от их использования