Visualizza messaggio singolo
Vecchio 11 dicembre 05, 18:38   #2 (permalink)  Top
davidea
UserPlus
 
L'avatar di davidea
 
Data registr.: 24-08-2004
Residenza: palermo (pa)
Messaggi: 846
Invia un messaggio via MSN a davidea
partiamo dal concetto che non conosco quel linguaggio, ma ti dico cio' che penso possa essere che non va!, potrei anche dire delle fesserie, quindi prendimi con le pinze!

intanto la routine (tranne che non incrementi in automatico la posizione, dovrebbe scrivere sempre sullo stesso punto 2,1

assumendo che tu hai settato la seriale a 4800, (bit di parita?, quanti bit invia?) e che e' settata correttamente,
il dato che hai in ingresso, e' dello stesso tipo di quello in uscita? ossia, ricevi un char, e mandi un char? o ricevi un dato magari in due byte, e lo mandi come unico byte e quindi la routine impazzisce?
perche' non provi a fare un ciclo if, che scriva sull' lcd una stringa nota "carattere ricevuto correttamente" quando riceve un carattere scelto da te?

qualcosa di simile ad

if received_byte = "C" then lcd_out(2,1,"carattere C ricevuto")

in modo da esser sicuro che il carattere venga ricevuto correttamente!
se lo ricevi correttamente, poi puoi provare

if received_byte = "C" then lcd_out(2,1,received_byte)

io non userei la funzione Usart_Read , perche' non so' se e' un buffer, che una volta letto, non contiene piu' niente!
__________________
73 de davidea!!!
davidea non รจ collegato   Rispondi citando