Array

#39889
Lesenswert?

Die Frage ist ein Witz oder ?

Anhand der Variablennamen kann man gerade mal vermuten, daß da irgendein 
OS mit Dateiverwaltung mit im Spiele ist.

Also CPU, Compiler, Target-OS, Deine Funktionsprototypen und Deine 
Source der nichtfunktionierenden eeprom_wb() must Du schon uns 
Nicht-Hellsehern mitteilen.


Peter
Gast #39890
Lesenswert?

Sorry,

da war ich wohl absolut neben der Kappe vorhin.
Also, geht um GCC mit ATmega103.

Problem ist, Compiler meckert mit:
Cast from pointer to integer of different size
Cast to pointer from integer of different size


Das Problem liegt wohl an der Berechnung des Zugriffsindex (1+Datei). 
Ohne "+Datei geht es.
Source:

static unsigned char eepromval[600]__attribute__((section(".eeprom")));

void dateischreiben (unsigned int Datei)
{
eeprom_wb((unsigned char)&eepromval[(0+Datei)],Parameter.Closingdir);
}


Protype:
void dateischreiben (unsigned int Datei);


Gruss Günter
Gast #39892
Lesenswert?

eeprom_wb() gibt's nicht mehr. ;-)

Anyway, warum castest Du denn die EEPROM-Adresse auf
unsigned char?  Laß sie, wie sie ist, und es sollte gehen,
oder caste auf unsigned char * (was etwas sehr Verschiedenes
ist).

Das alles ganz besonders angesichts der Tatsache, daß Deine
EEPROM-Variable mehr als 256 Elemente enthält...  Das muß
dann schiefgehen.

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