Bonjour,
voilà, j'utilise un PIC 18F4525, qui dispose de 1024 octet en EEPROM, et je souhaite utiliser cette mémoire afin de sauvegarder des paramètres, j'ai fais mes deux fonctions afin d'écrire et lire cette mémoire:
Mais voila, je souhaiterai avoir un peut plus d'informations pour la manière de définir les adresses, car j'ai une quarantaine de variables à stocker.Code:/*************************************************************** Nom : void writeEEPROM ( char addr, char data); Role : Ecrire dans l'EEPROM ****************************************************************/ void writeEEPROM ( char addr, char data) { EEADR = addr; // EEPROM Memory location EEDATA = data; // Data to be written in EEPROM EECON1bits.EEPGD = 0; // Enable EEPROM write EECON1bits.CFGS = 0; // Enable EEPROM write EECON1bits.WREN = 1; // Enable EEPROM write EECON2 = 0x55; // Required sequence to start write cycle EECON2 = 0xAA; // Required sequence to start write cycle EECON1bits.WR = 1; // Required sequence to start write cycle while(EECONbits.WR); // Wait for completion of write sequence PIR2bits.EEIF = 0; //Disable EEPROM write EECON1bits.WREN = 0; //Disable EEPROM write } /*************************************************************** Nom : void readEEPROM ( char addr ); Role : Lire une valeur dans l'EEPROM ****************************************************************/ void readEEPROM ( char addr ) { char data; EEADR = addr; // EEPROM Memory location EECON1bits.EEPGD = 0; // Enable Read sequence EECON1bits.CFGS = 0; // Enable Read sequence EECON1bits.RD = 1; // Enable Read sequence data = EEDATA; return data; }
D'après ce que j'ai lu dans la documentation(page 83 - section 7.1), l'adresse de stockage peut varier entre 0x00 et 0x3FF. mais comment définir l'adresse sans réécrire une une autre donnée déja écrite?
merci d'avance
-----