Hallo,
ich möchte mir Daten in den EEPROM schreiben und das ganze mit dem
Simulator im AVR Studio 6 testen.
Ich habe folgendes Programm:
1 | void EEPROM_write(unsigned int Address, unsigned char Data)
|
2 | {
|
3 | while(EECR & (1<<EEWE)); //Warten, falls Schreibvorgang im Gange
|
4 | EEAR = Address; //Addresse ins Address-Register laden
|
5 | EEDR = Data; //Daten ins Daten-Register laden
|
6 | EECR |= (1<<EEMWE); //Master Write Bit setzen
|
7 | EECR = EECR | 0b00000010; //Schreibvorgang starten
|
8 | }
|
9 |
|
10 |
|
11 |
|
12 | unsigned char EEPROM_read(unsigned int Address)
|
13 | {
|
14 | while(EECR & (1<<EEWE)); //Warten, falls Schreibvorgang im Gange
|
15 |
|
16 | EEAR = Address; //Addresse ins Address-Register laden
|
17 | EECR |= (1<<EERE); //Lesevorgang starten
|
18 | EECR=0x01;
|
19 | return EEDR; //Übergabe des EEPROM Inhalts
|
20 | }
|
In der Main Funktion habe ich dann den Aufruf
1 | EEPROM_write(0x0001,0x05);
|
Ich starte den Simulator und in den Registern wie die Adressen und Bits
gesetzt werden. Jedoch kommt nix beim EEPROM Speicher an wenn ich mir in
der Simulation anschaue.
Das auslesen mit der Funktion funktioniert soweit.
Kann mir jemand einen Tipp geben?
Danke