Как узнать, есть ли в приёмном буфере RS232 данные?
Как узнать, есть ли в приёмном буфере RS232 данные?
При помощи функции 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;
Взято с Исходников.ru