2015-11-28 9 views
0

У меня есть новая плата ATmega328P CH340G Arduino Uno R3.Чтение/запись EEPROM Arduino

Когда я ввожу двузначное число (например, 29), после выключения и включения питания на плате отображается только одна цифра (всего 9). Я хочу показать две цифры.

enter image description here

Можете ли вы мне помочь?

#include <LiquidCrystal_I2C.h> 
#include <Wire.h> 
#include <EEPROM.h> 

int addr = 5; 

LiquidCrystal_I2C lcd(0x27,16,2); 

void setup() { 
lcd.init();  
Serial.begin(9600); 
// initialize the lcd 
// Print a message to the LCD. 
lcd.backlight(); 
lcd.setCursor(0,0); 
lcd.write(EEPROM.read(addr)); 
} 

void loop() { 
    if (Serial.available()) { 
    while (Serial.available() > 0) { 
     char myValue = Serial.read(); 
     EEPROM.write(addr,myValue); 
     lcd.write(myValue); 
    } 
    } 
} 
+2

Потому что вы всегда писать в том же 'addr' (т.е.' 5') не являются вы перезаписываете предыдущий символ. Что произойдет, если вы напишете так: 'EEPROM.write (addr ++, myValue);' (обратите внимание на '++' для увеличения адреса) – Pawel

ответ

0

Вы всегда писать в том же адр (то есть 5), так что вы, скорее всего, переписав предыдущий символ. Попробуйте приращением ваш адрес после записи, как это:

EEPROM.write(addr++, myValue); 

(обратите внимание на ++, чтобы увеличить адрес)

+0

Тогда как я могу прочитать это значение? –

+0

Я думаю, что вам нужно вычислить адрес соответственно. (Это применимо для записи и записи). У меня нет более подробной картины того, что вы пытаетесь сделать, но я думаю, вам просто нужно начать чтение слева и прочитать до конца данных. Например. если у вас есть поле, которое может содержать только один элемент, вы не можете удалить из него два элемента - вот как я понимаю адрес и работу чтения/записи здесь. write - поместите элемент в поле (переписывая существующий, если таковой имеется), прочитайте, проверяет, какой элемент в поле у ​​вас есть. У вас есть несколько ящиков один рядом друг с другом, а addr сообщает вам, какой ящик вы хотите использовать. – Pawel

 Смежные вопросы

  • Нет связанных вопросов^_^