Display LCD I2C

10 Anni 5 Mesi fa #11 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Display LCD I2C
Ciao,

sarebbe di aiuto se potessi postare anche il codice.
per poter usare il modulo I2C sono importanti anche le impostazioni software del modulo e delle relative porte, ovvero pin per le linee SDA e SCL.

Altro dato importante e' il cristallo che stai usando, ovvero la sua frequenza.

Presumo che l'hardware, in altre applicazioni stia funzionando correttamente.

I collegamenti elettrici sono corretti?
Se fai uso dei di fili volanti accerati di avere anche Vcc e GND oltre a SCL e SDA.

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
10 Anni 5 Mesi fa - 10 Anni 5 Mesi fa #12 da igna_09
Risposta da igna_09 al topic Display LCD I2C
l'ho fatto e continua a non funzionare :(
Allora il codice è:
#include <p18f4550.h>
#include "LCD_44780_I2C.h"
#include "LCD_44780_I2C.c"
#include "PCF8574.c"
#include "PCF8574.h"
#include "delay.c"
#include "delay.h"
#include <i2c.h>


#pragma config FOSC = HS
#pragma config WDT = OFF
#pragma config LVP = OFF
#pragma config PBADEN = OFF
#pragma config PLLDIV = 1


//OSC = HS Impostato per lavorare ad alta frequenza
//WDT = OFF Disabilito il watchdog timer
//LVP = OFF Disabilito programmazione LVP
//PBADEN = OFF Disabilito gli ingressi analogici


void main (void){

// Imposto PORTA tutti ingressi
LATA = 0x00;
TRISA = 0xFF;
// Imposto PORTB tutti ingressi
LATB = 0x00;
TRISB = 0xFF;
// Imposto PORTC tutti ingressi
LATC = 0x00;
TRISC = 0xFF;

// Imposto PORTD tutti uscite
LATD = 0x00;
TRISD = 0xFF;
// Imposto PORTE tutti ingressi
LATE = 0x00;
TRISE = 0xFF;

delay_ms(50);

/*LED1=0;
LED2=0;
LED3=0;
LED4=0;*/

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

delay_ms(50);

OpenLCD (20);


BacklightLCD(TURN_ON_LED);
WriteCharLCD('c');
WriteStringLCD("Hello World");

// Ciclo infinito
while (1) {
}

}

come si può notare il codice è lo stesso dell'articolo scritto sul sito... in più ho aggiunto PLLDIV per disattivare il pll in quanto il divisore in questo modo è impostato a 1. Per la linea SCL utilizzo il pin N°34 mentre per la linea SDA il pin n°33. il quarzo utilizzato lavora a 20Mhz. Tutti i componenti fino ad ora sono stati utilizzati senza problema ed i collegamenti li ho verificati diverse volte. Illuminatemi voi!! :P
Vi ringrazio per l'aiuto che mi state dando.
Ultima Modifica 10 Anni 5 Mesi fa da igna_09.

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

  • igna_09
  • New Member
  • New Member
Di più
10 Anni 5 Mesi fa #13 da Pinna
Risposta da Pinna al topic Display LCD I2C
se posti il codice, domani mattina a mente sveglia, gli do un'occhiata...

è veramente strano, sul prototipo che feci a suo tempo, tutto il sistema ha funzionato al primo al primo colpo

Marcello

Chi vola vale, chi vale vola, chi non vola è un vile

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

  • Pinna
  • Avatar di Pinna
  • Moderator
  • Moderator
Di più
10 Anni 5 Mesi fa #14 da Pinna
Risposta da Pinna al topic Display LCD I2C
da uno sguardo durato 10 secondi, guarda cosa hai scritto:

// Imposto PORTD tutti uscite
LATD = 0x00;
TRISD = 0xFF;

ti sembrano uscite? metti TRISD = 0x00 !!!!!!

facci sapere

Marcello

p.s. domani, a mente fresca, te lo controllo meglio, ora sono troppo stanco e potrebbe sfuggirmi qualche altra cosa. Come indirizzo metti 0x20

Chi vola vale, chi vale vola, chi non vola è un vile

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

  • Pinna
  • Avatar di Pinna
  • Moderator
  • Moderator
Di più
10 Anni 5 Mesi fa #15 da Pinna
Risposta da Pinna al topic Display LCD I2C
la stessa cosa era successa anche a me, ho dovuto combattere un'ora prima di accorgemene. E sai perchè? per il mio vizio di fare troppi copia incolla :)

Marcello

Chi vola vale, chi vale vola, chi non vola è un vile

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

  • Pinna
  • Avatar di Pinna
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiStefAMatteo Garia

Registrati al sito

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

Registrati al sito LaurTec.

Login