Problema trasmissione I2C

  • PLC
  • Autore della discussione
  • Nuovo Utente
  • Nuovo Utente
Di più
11 Anni 8 Mesi fa #1 da PLC
Problema trasmissione I2C è stato creato da PLC
Salve a tutti, sto avendo qualche problema nel far funzionare il programma del capitolo XIII del libro "C18 Step by Step".

Ho scritto il programma, incluso le librerie e cambiato il nome delle funzioni dato che ho usato la versione 3.1 delle librerie. Il programma viene compilato, ma nel momento in cui lo vado ad eseguire i led restano spenti. Per testare i led ho messo come commento la funzione:

//read_I2C_EEPROM (0xA0, 0, &data);

poi ho assegnato un valore alla variabile "data":

data = 10;

e i led si sono accesi.

Vi mostro il programma che viene compilato regolarmente.
Code:
#include <p18f4550.h> #include <delay.h> #include <i2cEEPROM.h> #pragma config FOSC = HS #pragma config WDT = OFF #pragma config LVP = OFF #pragma config PBADEN = OFF //FOSC = 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) { // Variabile per salvare il dato restituito unsigned char data = 0; // Imposto PORTA tutti ingressi LATA = 0x00; TRISA = 0xFF; // Imposto PORTB tutti ingressi LATB = 0x00; TRISB = 0xFF; // Imposto PORTC tutti ingressi, RC1 come output LATC = 0x00; TRISC = 0b11111101; // Imposto PORTD tutte uscite LATD = 0x00; TRISD = 0x00; // Imposto PORTE tutti ingressi LATE = 0x00; TRISE = 0xFF; // Imposto il quarzo per la libreria delay setQuartz (20); // Inizializza il modulo I2C a 400KHz @20MHz OpenI2C(MASTER, SLEW_ON); SSPADD = 12; write_I2C_EEPROM (0xA0, 0, 0x35); // Aspetto che il dato sia propriamente scritto in EEPROM delay_ms (10); read_I2C_EEPROM (0xA0, 0, &data); LATD = data; // Ciclo infinito while (1) { } }

Come posso risolvere?

Grazie!

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

  • Pinna
  • Moderatore
  • Moderatore
Di più
11 Anni 8 Mesi fa #2 da Pinna
Risposta da Pinna al topic Problema trasmissione I2C
Ciao, credo (non vorrei sbagliarmi) che tu debba includere nel main anche il file delay.c...

tutti gli esempi riportati nel tutorial , se mi ricordo bene, prevedevano un file con estensione .h ed una libreria con estensione .LIB. Tale libreria veniva appunto creata con i file .c ed i file .h ed inclusa a parte nel progetto. Le nuove versioni non prevedono l'uso di librerie "preconfezionate" per cui è d'obbligo inserire nel progetto ambedue i sorgenti (nel tuo caso specifico delay.c e delay.h)

fammi sapere se ho detto corbellerie.

Marcello

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

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

  • Pinna
  • Moderatore
  • Moderatore
Di più
11 Anni 8 Mesi fa - 11 Anni 8 Mesi fa #3 da Pinna
Risposta da Pinna al topic Problema trasmissione I2C
dimenticavo... aggiungi anche il file I2cEEPROM.c (anche per questo era prevista la libreria con estensione . LIB)

Chi vola vale, chi vale vola, chi non vola è un vile
Ultima Modifica 11 Anni 8 Mesi fa da Pinna.

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

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
11 Anni 8 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Problema trasmissione I2C
come suggerito da Pinna, qualora non fai uso dei file .lib devi includere oltre che ai file .h anche i relativi file .c.

Qual´e´ il codice della EEPROM che stai usando?

Saluti,

Mauro

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

  • PLC
  • Autore della discussione
  • Nuovo Utente
  • Nuovo Utente
Di più
11 Anni 8 Mesi fa #5 da PLC
Risposta da PLC al topic Problema trasmissione I2C
Ciao Mauro, Pinna!

Come da allegato potete vedere che ho incluso nel progetto sia il file ".c" che ".h" di ambedue le librerie. Il progetto viene compilato ma quando viene eseguito non accende i led.

Il codice della EEPROM è "24LC32A I/P".
Allegati:

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

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.

Forum - Ultimi messaggi