Как узнать, есть ли в приёмном буфере RS232 данные?
Falk0ner, вс, 06/07/2008 - 15:34.
При помощи функции ClearCommError можно узнать, сколько байт данных находится в буфере приёма (и буфере передачи) последовательного интерфейса.
procedure DataInBuffer(Handle: THandle;
var InQueue, OutQueue: integer);
var ComStat: TComStat;
e: integer;
begin
if ClearCommError(Handle, e, @ComStat) then
begin
InQueue := ComStat.cbInQue;
OutQueue := ComStat.cbOutQue;
end
else
begin
InQueue := 0;
OutQueue := 0;
end;
end;
var InQueue, OutQueue: integer);
var ComStat: TComStat;
e: integer;
begin
if ClearCommError(Handle, e, @ComStat) then
begin
InQueue := ComStat.cbInQue;
OutQueue := ComStat.cbOutQue;
end
else
begin
InQueue := 0;
OutQueue := 0;
end;
end;
Взято из http://forum.sources.ru
Отправить комментарий