problemas con comport
Hola, mi problema es el siguiente, a ver si alguien me puede ayudar porque estoy desesperado.
Resulta que estoy mandando informacion atraves del puerto USB a un procesador 'PIC', y estoy utilizando el componente Comport. Hasta ahora todo iba bien y podia establecer una comunicacion bidireccional entre Pc y Pic.
Mi problema surge cuando a la vez que mando al Pic una informacion con writeStr(), para activar salidas digiales del PIC, intento encender un led en el programa, o cambiar un label, o un edit....... no me hace nada hasta que termina de ejecutar el programita de encendido de leds. Necesito que a la vez que se activan las salidas digitales en el PIC , tb se me activen en mi PC.
Podeis ayudarme, o al menos orientarme para saber que puede estar pasando???
os adjunto el procediemiento de activacion secuencial las salidas..... que es donde me falla ahora mismo. Gracias.
////////////////////////////////////////////////////////////////////////////////////////
procedure TForm3.Button1Click(Sender: TObject);
var
parada:integer;
veces: Integer;
n:integer;
begin
n:=1;
for veces := 1 to 5 Do
begin
for parada := n to 5 Do
begin
Case parada of
1: begin
Form1.Comport1.WriteStr('*A01'+#13);
Form1.Comport1.WriteStr('*A11'+#13);
form1.ComPort1.Close;
Form3.mLED9.state:=lson;
form3.mLED10.State:=lson;
n:=n+1;
break;
end;
2: begin
espera(1);
Form1.Comport1.WriteStr('*A21'+#13);
Form1.Comport1.WriteStr('*A31'+#13);
Form1.ComPort1.Close;
Form3.mLED11.State:=lsOn;
Form3.mLED12.State:=lsOn;
n:=n+1;
break;
end;
3: begin
espera(1);
Form1.comport1.Open;
form1.ComPort1.Port:='Com6';
Form1.Comport1.WriteStr('*A41'+#13);
Form1.Comport1.WriteStr('*A51'+#13);
Form1.ComPort1.Close;
Form3.mLED14.State:=lsOn;
Form3.mLED13.State:=lsOn;
n:=n+1;
break;
end;
4: begin
espera(1);
Form1.comport1.Open;
form1.ComPort1.Port:='Com6';
Form1.ComPort1.WriteStr('*A61'+#13);
Form1.ComPort1.WriteStr('*A71'+#13);
form1.ComPort1.Close;
Form3.mled15.state:=lson;
form3.mled16.state:=lson;
n:=n+1;
break;
end;
5: begin
Espera(2);
Form1.comport1.Open;
form1.ComPort1.Port:='Com6';
FOrm1.ComPort1.WriteStr('*A00'+#13);
Form1.ComPort1.WriteStr('*A10'+#13);
Form1.ComPort1.WriteStr('*A20'+#13);
Form1.ComPort1.WriteStr('*A30'+#13);
Form1.ComPort1.WriteStr('*A40'+#13);
Form1.ComPort1.WriteStr('*A50'+#13);
Form1.ComPort1.WriteStr('*A60'+#13);
Form1.ComPort1.WriteStr('*A70'+#13);
Form3.mled9.state:=lsoff;
Form3.mled10.state:=lsoff;
Form3.mled11.state:=lsoff;
form3.mled12.state:=lsoff;
Form3.mled13.state:=lsoff;
form3.mled14.state:=lsoff;
Form3.mled15.state:=lsoff;
Form3.mled16.state:=lsoff;
break;
end;
end;
end;
end;
end;
////////////////////////////////////////////////////////////////////////////////
|