LCD和RTC_DS1307-无法正确打印LCD上的1-9位秒数

LCD and RTC_DS1307- Unable to print the 1-9 digit seconds on the lcd correctly

本文关键字:LCD 打印 上的 1-9位 RTC DS1307-      更新时间:2023-10-16

我已将RTC模块和LCD连接到Arduino。时间打印正确,但当它是实时的10:13:09时,在液晶显示器上,它会打印为10:13:19。当时间到了10:13:10时,打印结果很好。示例:上午10:13:58

上午10:13:59

上午10:14:10

10:14:11。。。这是的问题

10:14:19 有问题

上午10:14:10

10:14:11…等

我的代码(不确定哪里出了问题):

 //time displayed on lcd
lcd.setCursor(4, 0);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
if(Serial.print(now.second(), DEC) >= 10){
   lcd.setCursor(10,0);
   lcd.print(now.second(), DEC);
}
else if(Serial.print(now.second(), DEC) < 10){
  lcd.setCursor(11,0);
  lcd.print(now.second(), DEC);
  lcd.setCursor(10,0);
  lcd.print(" ");
} 

有人能帮我查一下这个密码吗?

代码应由:

 //time displayed on lcd
lcd.setCursor(4, 0);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
if(now.second() >= 10){
   lcd.setCursor(10,0);
   lcd.print(now.second(), DEC);
}
else if(now.second() < 10){
  lcd.setCursor(11,0);
  lcd.print(now.second(), DEC);
  lcd.setCursor(10,0);
  lcd.print(" ");
} 

删除if中的Serial.printSerial.print(now.second(),DEC)返回发送到串行端口的字节数。https://www.arduino.cc/en/Serial/Print这里没有用。