2016-08-22 1 views
0

나는 EEPROM에 정수 값을 저장하는 간단한 방법을 찾고 있는데, 정수 값은 -20에서 20까지이다. EEPROM.write와 EEPROM.read 함수를 사용하여 한 번에 한 문자 씩 문자열을 저장하고 있지만 음수에 문제가있다. 나는이 값을 위해서 오직 한 바이트 만 필요로한다고 생각한다.EEPROM (Arduino IDE)에 음수를 저장하는 방법은 무엇입니까?

답변

2

숫자 표현의 문제 일뿐입니다.

버전 1 : int8_t data = EEPROM.read(addr);

버전 2 : 그냥 인쇄하거나 사용하는 올바른 데이터 형식을 사용할 필요가

EEPROM.write는 int8_t 직접 사용할 수 있습니다
byte data = EEPROM.read(addr); 
Serial.print((int8_t)data); 

: 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

관련 문제