Mega88 und internes EEPROM lesen und schreiben

Gast #283376
Lesenswert?

Hallo, hab mal wieder ein Problem.

Ich versuche laut Datenblatt von Atmel (mit den c-Codes von Atmel,
siehe Anhang) das interne EEPROM zu beschreiben. Ich schreibe mit den
folgenden Zeilen etwas rein:
1
EEPROM_write(100, 'A');
2
EEPROM_write(101, 'B');
3
EEPROM_write(102, 'C');
4
EEPROM_write(103, 'D');

lese ich nun das EEPROM mit dem AVR-Studio wieder aus, so stehen da nur
lauter FF drin. Warum? Was habe ich übersehen?

Gruß Slowflyer
Angehängte Dateien:
Gast #283378
Lesenswert?

Hi Jörg,

die preserve EEPROM.... Fuse ist gesetzt.

Zitat aus der eeprom.h aus der Library:
/* $Id: eeprom.h,v 1.11.2.1 2005/01/13 10:58:01 joerg_wunsch Exp $ */
...
\note This library will \e not work with the following devices since
these
    devices have the EEPROM IO ports at different locations:

    - AT90CAN128
    - ATmega48
    - ATmega88
    - ATmega165
    - ATmega168
    - ATmega169
    - ATmega325
    - ATmega3250
    - ATmega645
    - ATmega6450
...

Wie nun?
Gast #283380
Lesenswert?

Hallo,

mit der avr-libc-1.2.5 funktioniert es, Danke!

Für alle, die die libc nicht neu kompilieren wollen oder können gibt es
eine Alternative. Auf der Seite von Atman Electronics
(http://www.atmanecl.com/EnglishSite/SoftwareEnglish.htm) gibt es das
AVRGCCUpdate zum herunterladen. Es beinhaltet:

- gcc 3.4.4
- binutils-2.16.1
- avr-libc-1.2.5

Einfach installieren und die Verzeichnisse "lib", "avr", "bin"
und "libexec" im WinAVR-Vrezeichnis mit denen aus dem neu angelegten
Ordner (default "C:\Programme\AVRGCC 3.4.4\avrgcc") des GCC
überschreiben (ob das notwendig ist, weiss ich nicht, jedenfalls
funktuioniert es so bei mir). Und so hat man die libc-1.2.5

Ich hoffe das nützt Einigen, die wie ich auf der Suche nach der
kompilierten libc-1.2.5 waren.

Gruß Slowflyer

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren