HELP: Programmazione EEPROM esterna con 18f4550 e I2C - ERRORE COMPILAZIONE

12 Anni 4 Mesi fa - 12 Anni 4 Mesi fa #6 da RobertoPoz
Sono un po' in alto mare, so che gli esempi dei tutorial sono per la freedomII ma sinora, con piccoli accorgimenti, sono sempre riuscito a farli girare anche sulla picdem.
Mi rendo conto che ho difficoltà nell'utilizzo di timers, clock ed analoghi.
Ho collegato una EEPROM ai pin RBO e RB1 del 18f4550 ma non capisco come impostare la temporizzazione SCL.
Ho letto anche il materiale sul protocollo I2C sempre trovato su Laurtec ma non mi è ben chiaro come fare. Mi scuso se la domanda è banale ma gradirei una spiegazione base su come impostare il clock per far funzionare il protocollo, ovvero come impostare SCL.
Grazie mille
Ultima Modifica 12 Anni 4 Mesi fa da RobertoPoz.

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

  • RobertoPoz
  • Visitatori
  • Visitatori
12 Anni 4 Mesi fa #7 da Mauro Laurenti
Ciao,
per impostare i tempi del modulo I2C, fai riferimento a pagina 254 del libro C18 Step by Step.
C'e' una formula da applicare.

Gli esempi del testo devono funzionare anche nel tuo caso!
Hai solo un PIC e una EEPROM

Una volta che SCL e SDA sono ben collegati...
Accertati dell'indirizzo della EEPROM. In Freedom II e' 0x00

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
12 Anni 4 Mesi fa - 12 Anni 4 Mesi fa #8 da RobertoPoz
Avevo letto sul testo tutta la parte dedicata all'I2C ma senza successo nei risvolti pratici.
Nonostante sui pin 13 e 14 del PIC 18F4550 io imposti il clock (rilevandolo con successo), sul pin RB1 dove dovrebbe esserci SCL con l'oscilloscopio non vedo assolutamente nulla.
L'indirizzo EEPROM è corretto, sto usando una 24LC16B con i primi tre pin a massa (non è quella montata sulla scheda picdem 2 plus ma è con collegamenti "volanti", SCL e SDA messi a pull-up con resistenze 4,7K). Uso un quarzo da 20 MHz quindi non dovrei cambiare nulla sul codice no?
Infatti, il codice che uso per la programmazione è quello sul testo C18 step-by-step, librerie caricate, tutto ok nella compilazione.
Di fatto però, anche con un lettore di EEPROM, ho verificato che non viene scritto nulla sulla memoria. Qualche idea per un possibile errore?
Ultima Modifica 12 Anni 4 Mesi fa da RobertoPoz.

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

  • RobertoPoz
  • Visitatori
  • Visitatori
12 Anni 4 Mesi fa #9 da Pinna
Ciao, se hai la mia stessa "fortuna" prova a cambiare la eeprom. Anche se è nuova può esserti arrivata guasta. A me ultimamente è successo con un 18f4580: nuovo di zecca, era in corto e non ti racconto tutti i guai a cui sono andato incontro...

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ù
12 Anni 4 Mesi fa #10 da Pinna
mi sono dimenticato di suggerirti di usare una 24LC32: nella pagina iniziale del datasheet della eeprom che stai usando c'è scritto che i pin A0. A1 e A2 non sono usati e non hanno nessuna connessione interna...

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 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