Problema nella comunicazione tra due pic16f18313 tramite I2C

8 Anni 7 Mesi fa #1 da cadvick97
Ciao,
il mio progetto consiste nel mettere in comunicazione due pic16f18313 attraverso l'uso della seriale I2C: in pratica quando viene messo a massa il pin RA5 del pic configurato come master, questo si mette in comunicazione con lo slave: a questo punto, lo slave, dopo aver ricevuto l'indirizzo e il dato dal master accende semplicemente un led.
Ho preso spunto dall'esempio della libreria Laurtec LTlib ed ho anche usato molte funzioni e macro presenti in essa. In allegato metto il programma dello slave, del master e della configurazione del pic16f18313.
Non riesco a capire perchè la comunicazione non funziona. Vorrei sapere se è sbagliato qualcosa nel programma oppure se il malfunzionamento dipende anche dal fatto che faccio uso in entrambi i pic dell'oscillatore interno di 1 MHz.
Grazie in anticipo
Allegati:

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

  • cadvick97
  • New Member
  • New Member
Di più
6 Anni 1 Settimana fa #2 da maddley83
Ciao cadvick97,
prendi il file master.c, alla riga 139 hai scritto "SSPADD = 1". Se però fai riferimento al datasheet (pag. 341) in corrispondenza del valore che hai definito I2C_MASTER (0b00001000) trovi la nota 4 che recita "SSPADD values of 0, 1 or 2 are not supported for I2C mode". Questo potrebbe già darti un indizio.
Qual è la frequenza di clock (SCL) desiderata? 125kHz verrebbe dal conto con i valori che hai inserito.
Ho paura che con il solo clock interno da 1MHz non si riesca a superare una frequenza più alta di 62.5kHz.

Saluti.
Davide.

Per aspera ad astra.

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

  • maddley83
  • Avatar di maddley83
  • Junior Member
  • Junior 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