Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error puerto serie. (https://www.clubdelphi.com/foros/showthread.php?t=93951)

ramonibk 22-05-2019 11:50:26

Error puerto serie.
 
Buenos días a todos.

os cuento una cosa que me esta ocurriendo que me parce bastante estaña.

estoy usando Delphi 7 con ComPort Library.

estoy intentando ver datos en Hex para lo que estoy usando.

Código Delphi [-]
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
  Str, Str2: String;
  ch : char;
  i : integer;
begin
 ComPort.ReadStr(Str, Count);
 If CheckBox1.Checked = False Then
  Begin
   Memo.Text := Memo.Text + Str ;
  End;
 If CheckBox1.Checked = True Then
   Begin
    for i := 1 to Count do begin
     ch := str[i];
     Str2 := '{' + IntToHex(ord(ch),2) + '}';
     Memo.Text := Memo.Text + Str;
      End;
   Memo.SelStart  := Length(Memo.Lines.Text);
   Memo.SelLength := 0;
end;

Bueno en principio todo bien.
el problema empieza cuando me mandan

84 66 01 00 01 00 00 01 01
yo recibo
84 66 01 01 01 01

he perdido los '00'

pero el problema es mayor si en ese momento cierro mi aplicación y abro un visor de externo detecto que tampoco recibo lo '00' y me veo obligado a desconectar el puerto serial (adaptador USB a Serial) y conectarlo nuevamente para poder recibir el paquete integro.

alguien tiene alguna idea o sugerencia.??????

Muchas Gracias.

ramonibk 22-05-2019 12:27:36

Bueno auto respuesta.

comport.DiscardNull := False;

Un saludo.

ElKurgan 23-05-2019 07:47:51

Gracias por compartir la solución

Saludos


La franja horaria es GMT +2. Ahora son las 17:16:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi