2016-08-22 48 views
0

我試圖找到一個直接的方法來存儲EEPROM中的負值,整數值範圍從-20到20.我一直使用EEPROM.write和EEPROM.read函數來存儲字符串一個字符,但我負數有問題。我想我只需要一個字節的這個值。如何在EEPROM(Arduino IDE)中存儲負數?

回答

2

這只是數字表示的問題。你只需要使用正確的數據類型進行打印或使用:

版本1:int8_t data = EEPROM.read(addr);

版本2:

byte data = EEPROM.read(addr); 
Serial.print((int8_t)data); 

EEPROM.write可直接與被中int8_t使用:EEPROM.write(int8_value);

或者,如果你不想int,可以使用put/get方法(即使只包含POD類型的結構)

+0

謝謝!我想知道,是否有框架/方法可以將所有保存的數據以更易於管理的方式存儲,因此我可以根據變量名稱將值保存到EEPROM中? – bbglazer

+0

對於AVR,有[EEMEM](https://tinkerlog.com/2007/06/16/using-progmem-and-eemem-with-avrs/)修飾符(僅適用於內部存儲器)。所以你可以自動放置eeprom地址。應該可以將eeprom初始化爲默認值,但它在Arduino IDE中不適用於我,因此可能不支持。 – KIIV

+0

感謝您的信息! – bbglazer