Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Вниз

Очистить буфер порта   Найти похожие ветки 

 
Shamansky   (2005-02-13 21:57) [0]

Доброго времени суток, возника проблема: работаю с компортом, на него приходят данные, но их надо считывать только после конкретного символа. Специально создаю поток, который слушает порт на поступление DCB.EvtChar="U", на его поступление реагирует нормально, но проблема в следующем: с порта считывается все, что приходило до этого символа, как очистить буфер по поступлению символа не могу разобраться, очистка буфера вместе с символом "U" не критично, необходимо считать следующие 18 символов.


 
tesseract   (2005-02-14 11:12) [1]

смотри PURGE_COM()


 
Marser ©   (2005-02-14 12:15) [2]

purgecomm(handle,PURGE_RXCLEAR)

Прибытие символа это либо событие deChar waitcommevent, либо в ClearCommError одно из полей выходной струтуры типа COMSTAT

>tesseract
Перед такими советами желательно сверяться с хелпом


 
ECM ©   (2005-02-14 15:15) [3]

При определенных настройках порта - есть риск при PurgeComm потерять не только то, что было до спец. символа - но и после...
ИМХО: Лучше вычитывать все во внутренний буфер - а затем
последовательно разгребать...


 
Shamansky   (2005-02-14 16:11) [4]

Так я это уже нашел и ставлю в качестве символа-события - последний символ посылки, а потом уже чищу буфер.
Слушайте в процессе возникла еще одна проблема: чтение идет в отдельном потоке и  при попытке закрыть порт и потом освободить поток система очень сильно задумывается, причем приложение не значится как зависшее, а процессор занят на все 100%. Порт открываю в асинхронном режиме.


 
Marser ©   (2005-02-15 11:39) [5]


> Shamansky   (14.02.05 16:11) [4]

Сначала лучше убить поток, а затем уж закрывать порт.



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

Форум: "WinAPI";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.049 c
1-1110701602
zero-g
2005-03-13 11:13
2005.03.27
Создание диограммы при помощи TChart


1-1110547461
Zilog
2005-03-11 16:24
2005.03.27
Можно ли писать приложения для Win CE .Net в среде Dlelphi 2005?


3-1109234184
Shuma
2005-02-24 11:36
2005.03.27
Нужен компонент наследник от TDataSet


1-1110895989
Alex Romanskiy
2005-03-15 17:13
2005.03.27
Как уменьшить картинку.


3-1109534602
Некто
2005-02-27 23:03
2005.03.27
Интересно, почему при указании типа БД так мало выбора





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский