Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

ошибки приёма в com порт   Найти похожие ветки 

 
ship   (2004-12-19 14:40) [0]

Возникла потребность отслеживания ошибок приёма данных через com порты таких как: ошибки кадра, ошибки контроля чётности, и т.д.
Перерыл скачанные давно архивы форумов мастеров за 2003 год, но подобного вопроса там не встречал, в основном только о приёме спрашивают, а за 2004 год сейчас скачать архивы не имею возможности.
Для приёма данных использую поток с ClearCommError + ReadFile..
Проблема в том что если com порт настраиваем скажем на 19200, а внешнее подключенное к com порту устройство передаёт их скажем на 38400, то данные всё равно будут читаться с помощью ReadFile. Естественно все они будут неверно распознаны, но читаться эти неправильные данные всёже будут. Пробовал вставлять сразу же после ReadFile функцию GetLastError, но ничего не получилось, всегда выдаёт 0.
Пытался разобраться по исходникам различных компонентов для com портов, но единственный из найденных компонент в котором эта обработка работала правильно был async32, а исходников к нему не прилагалось.
Может уже кто то решал этот вопрос и подскажет как средствами winapi выполнить проверку ошибочности принятых данных которая действительно бы работала. Может кто то видел хорошую статью по этому поводу? Ну или хотябы просто скажите своё мнение, может быть поможет.


 
-=SS=- ©   (2004-12-19 15:08) [1]

Наверное надо поставить проверку на четность ... или придумать свою ... Например устройство сначала передает какое-то значение а потом данные ... проверять значение на допустимость... или еще чего


 
ship   (2004-12-19 18:26) [2]

Организация протокола обмена будет, это само собой. Но это второе, а первое это то, что существуют спец константы созданные для проверки как ошибки чётности, так и ошибки кадра: EV_ERR возвращаемая WaitCommEvent, CE_FRAME и CE_RXPARITY возвращаемые ClearCommError. Хотелось бы научиться у когонибуть пользоваться этими константами, т.к. сам куда их не втыкал толком ничего не получилось.


 
ECM ©   (2004-12-19 23:06) [3]

MSDN:
Files and I/0 Technical Articles  

Serial Communications in Win32

Там есть пример - MTTTY - архив 4918.exe
ИСЧЕРПЫВАЮЩАЯ информация по этому вопросу



Страницы: 1 вся ветка

Текущий архив: 2005.02.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
14-1105870540
REA
2005-01-16 13:15
2005.02.06
Игра "Монолит"


1-1106561113
slim
2005-01-24 13:05
2005.02.06
помогите перевести на делфи


1-1106416265
Bobby Digital
2005-01-22 20:51
2005.02.06
StringGird


3-1104826284
sergg
2005-01-04 11:11
2005.02.06
Очистка таблицы ACCESS 2000


1-1106311006
Dmitry_04
2005-01-21 15:36
2005.02.06
Как программно выделить строку в TreeView?