Forum: Mikrocontroller und Digitale Elektronik µC Eeeprom define/read/write SIGNED int


von D a v i d K. (oekel) Benutzerseite


Lesenswert?

Hi,

ist folgendes 100% korrekt?
1
#include <avr/eeprom.h>
2
3
uint16_t EEEMEM myWord;
4
 int16_t EEEMEM myDword;//??
5
...
6
uint16_t x = eeeprom_read_word(&myWord);
7
uint16_t eeeprom_update_word(x, &myWord);
8
9
int16_t y = (int16_t)eeeprom_read_dword(&myDword);
10
int16_t eeeprom_update_dword(y, &myDword);

oder muss ich EEMEM auch unbedingt als:
1
#include <avr/eeprom.h>
2
3
uint16_t EEEMEM myWord;
4
uint32_t EEEMEM myDword;//??
5
...
 definieren?

Brauche ich noch weitere casts?

Grüße David

von c-hater (Gast)


Lesenswert?

D a v i d K. schrieb:

> ist folgendes 100% korrekt?
[...]

Nein, natürlich nicht.

> Brauche ich noch weitere casts?

Nein, du brauchst einfach nur sinnvollen Code hinschreiben, anstatt 
zusammenkopiertes unverstandenes Zeug. Wenn du in C programmieren 
willst, musst du halt C lernen, so einfach ist das.

Bezogen auf dein konkretes Problem musst du halt erstmal solche 
absoluten Basics wie die integer-Datentypen lernen.

von D a v i d K. (oekel) Benutzerseite


Lesenswert?

D a v i d K. schrieb:
>
1
> eeeprom_update_word(x, &myWord);
2
> eeeprom_update_dword(y, &myDword);
3
>

Ok, den Tippfehler habe ich durch kopieren meiner eigenen Zeile 
verursacht. Sorry. Aber die Frage bezog ich ja auf das EEEMEM und die 
castings.

Ersteres , habe ich mitlerweile nachgelesen, geht wohl beides.
(Compiler Warnings beim ersteren)
Bitte keine Trollantworten mehr so kurz vom WE.

von c-hater (Gast)


Lesenswert?

D a v i d K. schrieb:

> Ok, den Tippfehler

"den" also Einzahl? Dann ist der ganze Rest also kein Tippfehler.

Genau, wie ich vermutete...

Beitrag #5746543 wurde von einem Moderator gelöscht.
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.