读/写EEPROM Arduino

时间:2015-11-28 03:35:39

标签: arduino lcd eeprom

我有一个新的ATmega328P CH340G Arduino Uno R3板。

当我输入两位数字(如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);
    }
  }
}

1 个答案:

答案 0 :(得分:0)

您总是在写同一个地址(即5),因此您很可能会覆盖前一个字符。尝试在这样的写入后递增你的地址:

EEPROM.write(addr++, myValue); 

(注意++增加地址)