Lettura e scrittura EEPROM su PIC16F18877

2 Anni 11 Mesi fa #1 da FABRIZIO
Lettura e scrittura EEPROM su PIC16F18877 è stato creato da FABRIZIO
Buongiorno a tutti, sto lottando per utilizzare l'ennesima funzione di questo cervellotico PIC16F18877.
Dovrei scrivere e leggere dei dati sulla EEPROM ma, dopo tantissimi tentativi e traduzione del datasheet non sono riuscito a combinare un bel niente. Qualcuno mi può dare qualche dritta?

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

  • FABRIZIO
  • Avatar di FABRIZIO
  • Elite Member
  • Elite Member
Di più
2 Anni 11 Mesi fa #2 da FABRIZIO
Risposta da FABRIZIO al topic Lettura e scrittura EEPROM su PIC16F18877
Dalle risposte ricevute (zero), vedo con piacere che non è una passeggiata questa procedura!

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

  • FABRIZIO
  • Avatar di FABRIZIO
  • Elite Member
  • Elite Member
Di più
2 Anni 11 Mesi fa #3 da Cosimix
Risposta da Cosimix al topic Lettura e scrittura EEPROM su PIC16F18877
Salve!

Potresti scrivere la bozza che hai realizzato per le funzioni di lettura e scrittura? In questo modo possiamo vedere insieme cosa non va.

Saluti,
Cosimo

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

  • Cosimix
  • Avatar di Cosimix
  • Elite Member
  • Elite Member
Di più
2 Anni 11 Mesi fa #4 da FABRIZIO
Risposta da FABRIZIO al topic Lettura e scrittura EEPROM su PIC16F18877
Salve Cosimo mando subito le funzioni:

Vado a precaricare le variabili indirizzo1 e indirizzo2 rispettivamente 0xF0 0x01

#pragma config CP = OFF // UserNVM Program memory code protection bit (Program Memory code protection disabled)

#pragma config CPD = OFF // DataNVM code protection bit (Data EEPROM code protection
disabled)

#define _XTAL_FREQ 32000000

unsigned char Lettura_Memoria(unsigned char indirizzo1, unsigned char indirizzo2)
{
NVMCON1bits.NVMREGS = 1; //Settaggio uso EEPROM
NVMADRL = indirizzo2;
NVMADRH = indirizzo1;
NVMCON1bits.RD = 1;
asm("NOP"); asm("NOP"); asm("NOP");
Primaccensione = NVMDATL;
return Primaccensione;
}


unsigned char Scrittura_Memoria(unsigned char Primaccensione3)
{
PIE7bits.NVMIE = 1
NVMREGS = 1;
Primaccensione = Primaccensione3;

while (NVMIF == 1)
{
NVMADRL = 0x01;
NVMADRH = 0xF0;
NVMDATL = Primaccensione;
INTCONbits.GIE = 0;
NVMCON1bits.WREN = 1;
NVMCON2 = 0x55;
Routine_Ritardo(20);
NVMCON2 = 0xAA;
Routine_Ritardo(20);
NVMCON1bits.WR = 1;
INTCONbits.GIE = 1;
NVMCON1bits.WREN = 0;
asm("NOP"); asm("NOP");
}
return 0;
}

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

  • FABRIZIO
  • Avatar di FABRIZIO
  • Elite Member
  • Elite Member
Di più
2 Anni 11 Mesi fa - 2 Anni 11 Mesi fa #5 da Cosimix
Risposta da Cosimix al topic Lettura e scrittura EEPROM su PIC16F18877

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

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

  • Cosimix
  • Avatar di Cosimix
  • Elite Member
  • Elite 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