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

Вниз

Обмен данными через COM порт   Найти похожие ветки 

 
Arsenij   (2003-12-17 16:26) [0]

Для получения данных через порт я отправляю WriteFile(comm...) запрос на количество получаемых блоков данных(число длиной в слово). Затем ReadFile(comm...) я их читаю (блоки по 10 чисел длиной тоже слово). Может быть кто-то подскажет почему у меня не получается передать запрос и получить ответ. P.S. ReadFile крутится в Thread-е; WriteFile находится в цикле; перед WriteFile я убиваю поток с процедурой чтения, а затем запускаю вновь. При этом если я выполняю TerminateThread в цикле там где WriteFile, то вызова процедуры с ReadFile вообще не происходит (еще один вопрос:)), поэтому убийство я выполняю в процедуре с ReadFile, сразу после чтения и затем возвращаюсь в цикл с WriteFile.


 
REA ©   (2003-12-17 16:34) [1]

Хитрая логика. Нужно проще.
См. Бритва Оккама, Kiss принцип программирования.


 
Talla2k ©   (2003-12-18 00:38) [2]

Я считаю,что не имеет смысла ReadFile делать в потоке!!!
Читай\пиши по очереди,без потока!!!На крайняк контролируй таймауты,что-бы не было ошибок!!!Ну вроде все!!!
З.Ы. Да в принципе рекомендуется работать в потоке,но не readfile а все в целом(init,read,write,close)!Дабы запуск фильма или прочего не нарушил работу с устройством!


 
tesseract   (2003-12-18 15:02) [3]

Скорее всего просто неправильно выполняешь запрос на чтение, нельзя убивать потоки с чтением/записью направо и налево, и не забывай чистить порт, и про то что у оборудования есть такая фишка как время реакции (обычно около 100мс).



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
4-12584
LOX
2003-12-30 13:51
2004.03.05
Сохранить текст из ListBox на чужой форме


3-12265
Iscandersam
2004-02-09 09:36
2004.03.05
Передача данных из одной базы в другую.


1-12381
Laymer
2004-02-25 08:09
2004.03.05
DirectX


1-12370
Ivolg
2004-02-25 11:49
2004.03.05
Курсор


7-12542
Юрий
2003-12-18 00:14
2004.03.05
Работа с дисками