Codevision & EEprom

Gast #157359
Hallo,
ich benutze einen ATmega32 und versuche jetzt schon eine Weile
Variablen im internen EEprom abzuspeichern. Zur Programmierung verwende
ich Codevision. Dieser moniert aber auch, dass "uninitialized EEPROM"
ist (Warnung). Das einzige was ich herausgefunden habe, dass im
STARTUP.asm das Register EECR gelöscht wird. Jede Änderung bewirkt aber
nichts. Was tun?

Gruß Alex
Gast #157362
Also, ich habe 2 Funktionen, die ich per Tastendruck aufrufe. In der
Funktion Read_MBR() lese ich ein Array aus und weise ein Wert einer
Variablen im EEPROM zu und gebe den Wert aber auch gleichzeitig seriell
auf dem PC aus (der Wert stimmt).
In der Funktion Send_MBR() hole ich mir den im EEPROM zugewiesenen Wert
zurück und will ihn ebenfalls anzeigen lassen, nur das hier was falsches
drinsteht!!

eeprom struct eeprom_structure
{
    unsigned char SecPerClus;
}VID;

void Read_MBR()
{
     char Buffer[512];
     char temp=1;
     while (temp)
    temp=mmc_read_sector(0,Buffer);
    VID.SecPerClus=Buffer[SECTOR_CLUSTER];
    putchar(Buffer[SECTOR_CLUSTER]);
}

void Send_MBR()
{
    char xxx[30];
    unsigned char temp;
    temp=VID.SecPerClus;
    sprintf(xxx,"VID.RootDir:",temp);
    puts(xxx);
}


Meine Vermutung und Suche nach dem Problem endete an der STARTUP.asm,
in der in den Anfangszeilen folgender Code zu finden ist:
;EXAMPLE STARTUP FILE

  .EQU __CLEAR_START=0X60 ;START ADDRESS OF SRAM AREA TO CLEAR
        ;SET THIS ADDRESS TO 0X100 FOR THE
        ;ATmega128 OR ATmega64 CHIPS
  .EQU __CLEAR_SIZE=256   ;SIZE OF SRAM AREA TO CLEAR IN BYTES

  CLI    ;DISABLE INTERRUPTS
  LDI  R30,0x08
  OUT  EECR,R30  ;DISABLE EEPROM ACCESS

Und nun? Ich probiere nochmal auf einfacherem Wege das EEPROM zu
beschreiben, wenn das bei euch auf Anhieb funktioniert??
Noch jemand ein Tip?

Gruß Alex

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.