COM порт в WinCE
От: HDDC  
Дата: 08.11.06 14:48
Оценка:
Доброго времени суток...

Программа под WinCe 5.0

Проблема в следующем.
Написан некий простенький драйвер для ККМ.
Среди прочего, драйвер может посылать команды печати строки, регистрации позиции чека, закрытия чека и т.д.

Все работает, но вплоть до какого-то недерменированного мной момента.

Детальнее.
Обмен ведется по COM порту.
Таймауты такие:
DCB — не привожу.
CommTimeouts.ReadIntervalTimeout = MAXDWORD;
CommTimeouts.ReadTotalTimeoutMultiplier = 0;
CommTimeouts.ReadTotalTimeoutConstant = 0;
CommTimeouts.WriteTotalTimeoutMultiplier = 10;
CommTimeouts.WriteTotalTimeoutConstant = 5000;

Посылаемые команды успшено выполняются ККМ, но через некоторое время (не смог определить после чего — драйвер (мой код) пишет, что "нет связи" — т.е. ожидание ответа от ККМ завершилось по таймауту 8(( ).
Но!!!

После этого все команды не выполняются по таймауту.

Далее.
1. Если подсоединить ККМ к другому порту после описанной процедуры, то все будет работать — снова до какого-то момента.
2. Если попытаться открыть "опробованный" порт другой программой — то все проходит успешно, но опять-таки с внешнего устройства ничего в порт не пишется — вернее, ничего не считывается.
Впрочем, как и невозможно после этого законнектиться по нему по ActiveSync.

Не понимаю, в чем дело.
Подозреваю, что что-то мой код такое делает с портом... Но что??? Не понимаю 8((
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.