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

Вниз

Поймать данные 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 вся ветка

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

Наверх




Память: 0.46 MB
Время: 0.037 c
6-1100982595
KarpEn
2004-11-20 23:29
2005.02.06
TServerSocket - как узнать, от какого клиента получаем данные?


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


1-1106458556
Alex_pv2
2005-01-23 08:35
2005.02.06
hint для Items в ListBox


4-1103018387
Phantomouse
2004-12-14 12:59
2005.02.06
COM+Я = Программа виснет ?!?


4-1103213325
Kg
2004-12-16 19:08
2005.02.06
Выход из Windows





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