-diese Library dient zur Benutzung des
internen EEproms vom Mikroprozessors
Funktionen :
1 2 3 4 5 | void MK3_INIT_EEPROM(void); void MK3_EEPROM_WR8(unsigned int adr, unsigned char wert); // zum schreiben eines Bytes (8Bit) unsigned char MK3_EEPROM_RD8(unsigned int adr); // zum lesen eines Bytes (8Bit) void MK3_EEPROM_WR16(unsigned int adr, unsigned int wert); // zum schreiben eines INT (16Bit) unsigned int MK3_EEPROM_RD16(unsigned int adr); // zum lesen eines INT (16Bit) |
Beispiel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | //----------------------------------------------------------------------------- // Title : bsp_ub030_mk3_eeprom //----------------------------------------------------------------------------- // Funktion : EEprom-Funktionen // Schaltung : myAVR MK3 //----------------------------------------------------------------------------- // Prozessor : ATMega2560 // Takt : 16 MHz // Sprache : C // Date : 25.08.2011 // Version : 1.0 // Autor : UB //----------------------------------------------------------------------------- #define F_CPU 16000000 #include <avr/io.h> #include <UB_MK3_2560/MK3_2560_EEPROM.h> #include <UB_MK3_2560/MK3_2560_LED.h> //----------------------------------------------------------------------------- // Hinweis : Quick-Jumper Port-L muss gesetzt sein // - das Programm liest ein Byte aus dem EEprom // und zeigt es an den LEDs an // - falls es nicht der richtige Wert ist, // wird ein Byte ins EEprom geschrieben //----------------------------------------------------------------------------- int main (void) { char data=0; MK3_INIT_EEPROM(); // init vom EEProm MK3_INIT_LED(); // init der LEDs // ein Byte vom EEprom an Adr 0x123 auslesen data=MK3_EEPROM_RD8(0x123); // vom EEprom ausgelesener Wert // an den LEDs anzeigen MK3_LED_ZAHL(data); // prüfen ob es den richtige inhalt hat (27h) if(data!=0x18) { // falls nicht, EEprom beschreiben MK3_EEPROM_WR8(0x123,0x18); } while (true) { // hier wird nichts gemacht } return 0; } |
Hier die Library zum download :
Hey, kann man diese Libary auch für das MK2 benutzen?
ja, müsste funktionieren. Du musst nur die max Adresse vom EEprom anpassen, ich glaube das ist beim Mega8 kleiner.
Super mercy werde ich gleich mal ausprobieren