FORUM Carcd

FORUM Carcd (https://carcd.ru/forum/index.php)
-   Клуб программистов (https://carcd.ru/forum/19/)
-   -   Особенности чтения COM в w98/me и winxp/2k (https://carcd.ru/forum/19/thread4290/)

aspirant 10.06.2005 11:22

ситуация следующая: стандартные запись запроса /чтение запроса - чтение ответа и т.д.



но вот какая особенность замечена для разных платформ - если читать побайтово из порта, допустим до наступления таймаута НЕ пользуясь TComStat для опредееления кол-ва байтов в буфере приема (СlearCoError(hadle,@stat, etc ... ), то в XP и 2000 при скане порта видно, что подсчет не производится



но вот в 98 и МЕ ситуация как раз наоборот. т.е. если используется побайтовое чтение порта, то после каждого ReadFile(.. nToRead=1 ..) мы наблюдаем, что автоматом происходит подсчитывание оставшихся в приемнике байтов.



спасибо Reesearch за столь многочисленные опыты http://www.carcd.ru/forum/public/sty...O_DIR#>/27.gif



так вот пролема в том, что каждый подсчет это время, а по протоколу я не укладывают,т.е. все растягивается на кучу времени и рузельтат блок неотвечает. asm в хр нельзя и smport я не хочу пользовать .. как мне избавиться от такой по умолчанию работы порта в 98/ме?



прилагаю скан с lgcomspy++ на хр(блок ответил) и на ме(блок неответил)

Wladi 10.06.2005 18:37

Если пишешь на Delphi, то возьми TComPort компоненты

http://sourceforge.net/projects/comport/

и забудешь о всех проблемах.



Wladi

Evgenij 07.02.2006 15:49

Цитата:

'Wladi' *'Jun 10 2005, 18:37']Если пишешь на Delphi, то возьми TComPort компоненты

http://sourceforge.net/projects/comport/

и забудешь о всех проблемах.



Wladi

[snapback]54237[/snapback]



Delphi 7 (в базовой комплектации) отлично справляется с даной проблемой. Кстати, С++ от БОРЛАНДА тоже.


Текущее время: 20:05. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot