Hallo zusammen, ich möchte einen signed int im EEPROM ablegen. Mit dem folgenden Codeschnipsel
1 | //...
|
2 | int16_t test_EE EEMEM = -7; |
3 | //...
|
4 | int main(void) { |
5 | int16_t test; |
6 | |
7 | test = eeprom_read_byte(&test_EE); |
8 | //.....
|
9 | }
|
kommt (sinngemäß) die Warnung " xyz differs ind signedness". Nach einem Blick in die libc dokumentation ist mir die Ursache klar. Die Frage: Gibt es eine fertige Funktion mit der ich signed integers direkt ins EEPROM schreiben und auslesen kann oder muss ich mir da etwas selber bauen? Für meinen Anwendungsfall (elektronisches V-Kabel mit einstellbarer Servomitte) kann ich mit nem kleinen Workaround auch uint16_t nehmen. Es gibt aber sicherlich auch Fälle in denen das nicht praktikabel ist. Danke und Gruß, Stefan