首页 文章

读/写EEPROM Arduino

提问于
浏览
0

我有一个新的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

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

    EEPROM.write(addr++, myValue);
    

    (注意增加地址)

相关问题