Vai al contenuto
PLC Forum


Gps Seriale E Visualizzazione Su Lcd Con Pic16f84a


aduri

Messaggi consigliati

Sto cercando di fare un terminale seriale con visualizzazione su lcd in c

per codificare i segnali nmea trasmessi da una scheda gps da auto con uscita rs232 con velocita' 4800 baud 8 bit nessuna parita'.

Se siete interessati ho i protocolli seriali per la codifica delle frasi.

La routine LCD e' funzionante ed e' una rivitazione di quella presente nel sito di Fiser.

Ho visto dei progetti in rete in asm ma io punterei sul c di picclite.

Ho fatto con un transistor l'adattamento di livelli da +-12V a 0/5V ttl.

A questi punti vi volevo chiedere se basta solo l'adattamento dei livelli di tensione o e' necessario un chip tipo 628 con UART interna e quali sono le criticita'.

Un'altra cosa qualcuno ha provato la routine seriale.c nei samples di picclite

col 16f84a?

E' compatibile? li parla di pic 16C....!!!!

Grazie per l'aiuto.

Link al commento
Condividi su altri siti


Ho provato a cambiare il pic e ne ho utilizzato uno con la usart incorporata per semplificarmi la vita.

Sto provando ad utilizzare Mikrobasic free.

Il problema e' questo:

ho preso gli esempi dell'. che riguardano la ricezione e la trasmissione della usart con pic16f628a + max232 ed e' andato tutto a buon fine;

ho preso poi l'esempio della visualizzazione su lcd anche questo OK.

Ho provato a metterli insieme per fare un terminalino seriale su lcd allego dunque il mikrolistato:

program lcd_serial

main:

dim received_byte as byte

Lcd_Init(PORTB) ' initialize LCD connected to portb

lcd_cmd( LCD_CLEAR) ' send command to LCD "clear display"

lcd_cmd( LCD_CURSOR_OFF) ' send command cursor off

lcd_out(1,1,"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,Usart_Read) ' print gps data to LCD, 2nd row, 1st column

end if

wend

end.

A questi punti mi appare "data" sulla prima riga fin qua tutto ok ma quando mando una stringa dal tool usart terminal di mikrobasic mi scrive un serie di caratteri strani sulla prima riga (anziche' la seconda) subito dopo la scritta data.

E' la prima volta che programmo con questo SW ma gari e' una banalita'.

Cortesemente qualcuno puo' rispondermi :(

Link al commento
Condividi su altri siti

Il problema forse sta nel compilatore che usi. Io non saprei cosa dirti perchè i PIC li programmo in asm o in "C" della CCS.

Posso solo darti un consiglio: lascia perdere il microbasic e usa l'asm. Esempi per la seriale e per i display ne trovi 13 per dozzina sulla rete. Comincia a consultare il sito di Tanzilli, è una vera miniera per i pincipianti.

Da ultimo, non sollecitare le risposte. PLC Forum non è un call center. Se qualcuno può e vuole rispondere, risponde. Altrimenti pazienza.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...