Ver Mensaje Individual
  #1  
Antiguo 22-05-2019
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 193
Reputación: 21
ramonibk Va por buen camino
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.
Responder Con Cita