Visualizza messaggio singolo
Vecchio 11 dicembre 05, 23:47   #9 (permalink)  Top
aduri
User
 
Data registr.: 04-06-2005
Residenza: Genova
Messaggi: 46
C'e' l'apice prima dell'inizializzazione quindi quella riga e' diventata un commento pero' mi sono accorto di una bestialita'.
Mi ha portato fuori strada il fatto che il terminale su pc visualizzava una stringa
ma sul lcd devo creare un buffer ad es. con un ciclo for/next perche' la seriale trasmette carattere per carattere cosi' ho fatto questo nuovo listato ma accetta solo 3 caratteri che vengono visualizzati in successione appena dopo il data (nella posiz 7 della seconda riga) e il cursore si posiziona dopo il "data" continuo a non capire.
allego il listato:
program lcd_serial

dim received_byte as byte
dim i as byte

main:

' Lcd_Init(PORT ' initialize LCD connected to portb
Lcd_Config(PORTB,0,3,1,7,6,5,4) ' pins custom
lcd_cmd( LCD_CLEAR) ' send command to LCD "clear display"
' lcd_cmd( LCD_CURSOR_OFF) ' send command cursor off
lcd_out(1,1,"GPS data") ' print txt to LCD, 1nd row, 1st column

Usart_Init(4800) ' Initialize USART module
while true

if Usart_Data_Ready = 1 then ' If data is received
received_byte = Usart_Read ' Read received data

Usart_Write(received_byte) ' Send data via USART

lcd_out(2,1,"data:") ' print gps data to LCD, 2nd row, 1st column

for i=0 to 10 'buffer
lcd_out(2,(7+i),received_byte) ' print gps data to LCD, 2nd row, 1st column
' lcd_cmd(LCD_CURSOR_ON) ' send command cursor on
Lcd_Cmd(Lcd_Move_Cursor_Right)
i=i+1
next i
end if
wend

end.


Se vuoi un bel tutorial c per pic vai sul sito di Fiser (http://www.jofi.it/fiser/page1.html
aduri non รจ collegato   Rispondi citando