Sto provando alcune cose con la seriale. Ho preso l’esempio che c’è sul manuale. Ho settato la seriale nel task Boot.
IF (Fp = NULL) THEN Fp:=Sysfopen (‘COM0’, ‘rw’); END_IF;
i:=SysGetSerialMode(ADR(Sm), Fp);
Sm.Baudrate:=19200; (* Valore di baud rate *)
Sm.Parity:=’E’; (* Tipo di parità *)
Sm.DataBits:=8; (* Numero di bit frame dato *)
Sm.StopBits:=1; (* Numero di bit di stop *)
Sm.EchoFlush:=TRUE; (* Echo flush *)
Sm.DTRManagement:=DTR_OFF; (* DTR signal off *)
i:=SysSetSerialMode(ADR(Sm), Fp);
Nel task Slow eseguo l’echo dalla seriale.
IF (Fp = NULL) THEN Fp:=Sysfopen (‘COM0’, ‘rw’); END_IF;
IF (Fp <> NULL) THEN
IF (TO_BOOL(SysGetIChars(Fp))) AND (TO_BOOL(SysGetOSpace(Fp))) THEN
Ch:=Sysfgetc(Fp); (* Get input character *)
Ch:=Sysfputc(Ch, Fp); (* Put input character *)
END_IF;
END_IF;
Uso un Putty come terminale e quando digito un carattere mi ritorna a video della “porcheria”. i parametri sul putty sono corretti. Cosa può essere ?