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

Вниз

Поймать данные Com-порта в основном потоке   Найти похожие ветки 

 
HydraMarat   (2004-12-14 01:45) [0]

Здравствуйте, Уважаемые Мастера!

Соединяюсь с Com-портом через CreateFile и т.п. Написал прогу, которая ловит его данные во вторичном потоке (да и вообще там драйвер специально был написан, но это не важно). Так вот, а можно ли обойтись без вторичного потока? Можно ли дожидаться в основном? Может по таймеру состояние проверять?

Спасибо!


 
GanibalLector ©   (2004-12-14 02:26) [1]

Можно,но не нужно.
Почему?Ну,например,подвигай форму при считывании\записи в порт...тогда поймешь.Еще вариан,запусти фильм при тех же действиях.
З.Ы.Надеюсь желание отпало?


 
HydraMarat   (2004-12-14 02:28) [2]

Я же не спрашиваю целесообразно ли это. Я спрашиваю КАК?


 
Германн ©   (2004-12-14 02:45) [3]

2 HydraMarat   (14.12.04 02:28) [2]
>Я же не спрашиваю целесообразно ли это. Я спрашиваю КАК?

Используй асинхронный режим работы с портом.


 
HydraMarat   (2004-12-14 03:14) [4]

Германн, по подробнее если можно... Я про такой режим слышал, но не разу не использовал. Там через callback делается?


 
Германн ©   (2004-12-14 03:26) [5]

А причем тут "callback"?
Дело в том, что исторически микросхема Com-порта обеспечивает наличие признака, что байт принят! Исторически это могло вызвать соответствующее прерывание, или могло проверяться в цикле.
Windows запретил нам (пока еще не всегда, но уже почти всегда) доступ к этой микросхеме, но взамен предоставил свои способы реакции на вышеописанное.


 
HydraMarat   (2004-12-14 03:29) [6]

Германн

Да я уже в SDK почитал... Блин, стыдно! Ведь уже твердили "вначале в справку"... Эх. Под callback"ом я подразумевал регистрацию процедуры, которая вызовится при окончании приема данных, залез в справку - там через Event. ну оно не ново! Просто я думал, что можно проще... Впрочем с Event"ами я в последнее время много общаюсь.


 
Digitman ©   (2004-12-14 10:10) [7]


> HydraMarat   (14.12.04 03:29) [6]


> Да я уже в SDK почитал


плохо читал.
см. внимательно на overlapped-режим и ф-ции ReadFileEx, WriteFileEx


 
HydraMarat   (2004-12-14 19:51) [8]

УХ ТЫ!!! Значит callback все-таки можно сделать! А я этих Ex"ов как-то побаивался!!! Ну блин, теперь все тестить буду!!!

Спасибо всем огромное!



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

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

Наверх




Память: 0.48 MB
Время: 0.031 c
14-1105941823
Ozone
2005-01-17 09:03
2005.02.06
Half Live 2 (виснут персонажи)


14-1105654054
iZEN
2005-01-14 01:07
2005.02.06
Размер консольного приложения.


4-1102977934
HydraMarat
2004-12-14 01:45
2005.02.06
Поймать данные Com-порта в основном потоке


14-1105429185
leonidus
2005-01-11 10:39
2005.02.06
Не открываются chm-файлы


1-1106408303
kyn66
2005-01-22 18:38
2005.02.06
Как установить EasyTable 6.03 D6