Главная страница
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.025 c
1-1106487768
Axeman
2005-01-23 16:42
2005.02.06
Internet explorer


1-1106474934
GSQ
2005-01-23 13:08
2005.02.06
:-(((


1-1106547049
dreamse
2005-01-24 09:10
2005.02.06
Как извлеч расширение из имени файла


10-1082978380
hexone
2004-04-26 15:19
2005.02.06
CoInitialize + CoUninitialize


3-1105333049
Владимир
2005-01-10 07:57
2005.02.06
Как сделать так, чтобы если при добавлении нового цвета в таблицу