Главная страница
    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.45 MB
Время: 0.027 c
3-1105023510
naum
2005-01-06 17:58
2005.02.06
Шифрование баз данных


1-1106642469
Angela
2005-01-25 11:41
2005.02.06
Как сохранить объект Panel в файл XML ?


1-1106547631
Alien_D
2005-01-24 09:20
2005.02.06
Алгоритм рекурсивного спуска по дереву...


1-1106685428
SergP
2005-01-25 23:37
2005.02.06
MDI и Меню


14-1106046524
WondeRu
2005-01-18 14:08
2005.02.06
Так когда появится конфернция по .NET?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский