Freedom III e LCD I2C

7 Anni 2 Mesi fa - 7 Anni 2 Mesi fa #1 da Bandini
Freedom III e LCD I2C è stato creato da Bandini
Buongiorno a tutti, ho realizzato la scheda Freedom III REV. 1 e ho un problema con l'LCD. Ho caricato il programma di test per l'hardware e funziona tutto compreso l'LCD appunto, quindi sbaglio qualcosa con il mio programma.
Utilizzo il PIC18F46K22 con le librerie 3.3 e MPLAB C18 (XC8 non lo so ancora usare).
Ho inserito nel progetto e nel main i files "LCD_44780_I2C.h", "delay.h", "PCF8574.h" e "MCP2300x.h"
La compilazione mi da solo un errore sulla itoa che dice "Warning [2058] call of function without prototype", per il resto compila con successo. Volevo far apparire la classica scritta "Hello world".
Dopo la programmazione però il display rimane con la prima riga con tutti quadrati bianchi come se non venisse inizializzato.
Ho anche inserito il lampeggio del led collegato a RD5 per vedere se il PIC lavora e funziona correttamente.
Qualcuno può aiutarmi?

Aggiungo il parte del codice

void main (void)
{

//
Inizializzazione del processore

InitPic ();

delay_set_quartz (20);

// Inizializza il modulo I2C a 100KHz @20MHz
OpenI2C(MASTER, SLEW_OFF);
SSPADD = 49;

// Inizializzo il display LCD con quarzo a 20MHz

LCD_initialize (20);

LCD_backlight (TURN_ON_LED_LCD);

WriteStringLCD ("Hello world");


// Ciclo infinito
while (1) {
LATDbits.LATD5=ON;
delay_ms(500);
LATDbits.LATD5=OFF;
delay_ms(500);

}

}

Grazie
Ultima Modifica 7 Anni 2 Mesi fa da Bandini. Motivo: aggiunta codice

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Bandini
  • New Member
  • New Member
Di più
7 Anni 2 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Freedom III e LCD I2C
Salve Bandini,

la libreria 3.3 non supporta il modulo LCD di Freedom III.
Infatti il controllo LCD via I2C e' fatto tramite MCP23008 mentre la libreria 3.3 supporta solo il PCF8574.

Il programma di test che ti funziona fa uso della libreria LTlib 4.x che supporta il controllo del modulo LCD via I2C sia per mezzo del IO extender MCP23008 che PCF8574.

Per questo l'esempio ti funziona mentre il tuo codice no.

Forse e' anche tempo di lasciare il C18.
Personalmente non lo uso piu' e Microchip ha spostato tutto su XC8.

La soluzione ai tuoi mali e' LTlib 4.x e XC8! :)

leggi il documento come migrare da C18 a XC8 e relativa guida sul nuovo IDE MPLAB X .
...poi con il tempo anche il nuovo libro XC8 Step by Step.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
7 Anni 2 Mesi fa #3 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Freedom III e LCD I2C
P.S.

Nella sezione video puoi anche vere due video sul come usare la libreria LTlib e il nuovo IDE MPLAB X.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
7 Anni 2 Mesi fa #4 da Bandini
Risposta da Bandini al topic Freedom III e LCD I2C
Grazie mille Mauro!

Gentile come sempre. Mi deciderò ad abbandonare il C18 :(

Ciao

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Bandini
  • New Member
  • New Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login