Gast
#549780
Hi Leute, will bei meinem PIC18F458 das EEPROM beschreiben und lesen. Hab dazu folgende Funktionen im Internet gefunden: unsigned char eeprom_read(unsigned char uint8_adress) { while (EECON1bits.WR); // Wait if READ/WRITE/..... EECON1bits.EEPGD = 0; // Select EEPROM Memory EECON1bits.CFGS = 0; // Select Memory - not Config_Word EEADR = uint8_adress; // Select EEPROM Cell EECON1bits.RD = 1; // Start Reading return EEDATA; // Return Cell_Value } void eeprom_write(unsigned char uint8_adress, unsigned char uint8_data) { unsigned char uint8_gieh_backup; unsigned char uint8_giel_backup; while (EECON1bits.WR); // Wait if READ/WRITE/..... EECON1bits.EEPGD = 0; // Select EEPROM Memory EECON1bits.CFGS = 0; // Select Memory - not Config_Word EEADR = uint8_adress; // Select EEPROM Cell EEDATA = uint8_data; uint8_gieh_backup = INTCONbits.GIEH; uint8_giel_backup = INTCONbits.GIEL; INTCONbits.GIEH = 0; // Disable Interrupts INTCONbits.GIEL = 0; EECON1bits.WREN = 1; // Authorize EEPROM_writing EECON2 = 0x55; EECON2 = 0xaa; EECON1bits.WR = 1; // Start EEPROM_writing EECON1bits.WREN = 0; // Deactivate EEPROM_writing INTCONbits.GIEH = uint8_gieh_backup; INTCONbits.GIEL = uint8_giel_backup; } Wenn ich meinen PIC starte, die Funktionen ausführe und danach mit picKit2 das eeprom auslese, steht leider nix drin. Wollte fragen, ob hier ein PIC-Kenner schonmal was ins EEPROM geschrieben hat. Wenn ja, sind meine FUnktionen falsch oder muss ich sonst noch irgendwas beachten? Wie lange dauert so ein Schreibvorgang? Gruß Olli