Forum: Compiler & IDEs Pointer from integer without a cast.,....


von Christian (Gast)


Lesenswert?

Hallo liebe avrgcc fans,

was will mir diese Fehlermeldung sagen???
Ich möchte nur auf den EEprom meines Atmega 8 zugreifen und ein
einziges byte an eine Speicherstelle schreiben - so ungefähr:

eeprom_write_byte(0x01, 'A');

nur wird das leider nicht aktzeptiert und avrgcc schreibt die
warnmeldung:
passing arg 1 of eeprom_write_byte makes Pointer from integer without a
cast

Kann mir bitte jemand sagen was ich falsch mache??

Vielen Dank für eure Unterstützung!!

Christian

von Peter (Gast)


Lesenswert?

du hast einen prototypen im includefile, der als erstes argument einen
Zeiger haben will (ist bei meinem compiler anders). entweder ignorieren
oder casten. echte programmierer ignorieren warnungen :-)

also dann etwa:
eeprom_write_byte((unsigned char *)0x01, 'A');

Peter

von Christian (Gast)


Lesenswert?

Hallo Peter,

vielen Dank für deine rasche Hilfe!! Die Warnmeldung ist weg -
funktioniert zwar immer noch nicht so recht, aber das wird schon
noch!!

Fröhliches Basteln

Christian

von Peter (Gast)


Lesenswert?

wenn es nicht funktioniert hast du vielleicht nicht gewartet bis das
eeprom bereit ist. im winavr ist in der eeprom.h folgendes dafür
definiert:

/* return 1 if EEPROM is ready for a new read/write operation, 0 if not
*/
#define eeprom_is_ready() bit_is_clear(EECR, EEWE)


also:
while(!eeprom_is_ready());
eeprom_write_byte...


Peter

von Christian (Gast)


Lesenswert?

vielen Dank nochmals für den Hinweis - es funktioniert jetzt
einwandfrei!!

Viele Grüße und ein schönes Wochenende!!

Christian

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.