0

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

当我输入一个两位数的数字(如29)时,断电再上电后,板子只显示一位数(只有9)。我想显示两位数。

在此处输入图像描述

你能帮助我吗?

#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);
    }
  }
}
4

1 回答 1

0

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

EEPROM.write(addr++, myValue); 

(注意 ++ 增加地址)

于 2015-12-02T05:59:20.460 回答