Показать сообщение отдельно
  #1  
Старый 05.05.2008, 06:20
uroksan uroksan вне форума
Прохожий
 
Регистрация: 24.01.2008
Сообщения: 15
Репутация: 10
По умолчанию работа с ком портом

ребят подскажите если кто знает почему при считывании с ком порта иногда теряются 2 байта. я считываю информацию по кадрам в каждом кадре 64 байта так вот иногда при чем не важно в какой момент при считывании происходит потеря 2 байтов после чего кадр стает некоректным
Код:
function TDComPort.ReadB: Byte;
Var
 Data: Byte;
 Size, RSize: DWORD;
begin
 // Будет возвращён в случае ошибки
 Result:=0;
 Size:=1;
 If Not ReadFile(PoortID, Data, Size, RSize, nil) Then
  Begin
   MainForm.LogError('Ошибка: Вызов ReadFile не удался');
   Error:=True;
   Exit;
  End;
 If RSize <> 1 Then
  Begin
   MainForm.LogError('Ошибка: Не удалось прочитать байт');
   Error:=True;
   Exit;
  End;
 Error:=False;
 Result:=Data;
end;
Ответить с цитированием