Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ LCD和RTC_DS1307-无法在LCD上正确打印1-9位秒_C++_C_Arduino - Fatal编程技术网

C++ LCD和RTC_DS1307-无法在LCD上正确打印1-9位秒

C++ LCD和RTC_DS1307-无法在LCD上正确打印1-9位秒,c++,c,arduino,C++,C,Arduino,我将RTC模块和LCD连接到Arduino。时间打印正确,但当它实时显示为10:13:09时,在lcd上显示为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。。。等 我的代码(不确定哪里出错): //lcd上显示的时间 lcd.setCursor(4,0); lcd.print(now.hour(),DEC); lcd

我将RTC模块和LCD连接到Arduino。时间打印正确,但当它实时显示为10:13:09时,在lcd上显示为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。。。等

我的代码(不确定哪里出错):

//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.打印(“”);
} 
有人能帮我翻译一下这个代码吗?

代码应该是:

 //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(" ");
} 
//lcd上显示的时间
lcd.setCursor(4,0);
lcd.print(now.hour(),DEC);
lcd.print(“:”);
lcd.print(now.minute(),DEC);
lcd.print(“:”);
如果(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.打印(“”);
} 
移除if中的串行打印 Serial.print(现在是.second(),DEC)返回发送到串行端口的字节数。 这里没有用。

代码应该是:

 //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(" ");
} 
//lcd上显示的时间
lcd.setCursor(4,0);
lcd.print(now.hour(),DEC);
lcd.print(“:”);
lcd.print(now.minute(),DEC);
lcd.print(“:”);
如果(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.打印(“”);
} 
移除if中的串行打印 Serial.print(现在是.second(),DEC)返回发送到串行端口的字节数。
这里没有用。

然后将写入的字节数与10进行比较。不确定这是您想要的。当秒数小于10时,Serial.print和lcd.print都将打印一个数字。您已通过在右侧位置打印该数字进行了补偿,但您没有在“十”位置更改左侧的数字。您需要打印前导0。然后将写入的字节数与10进行比较。不确定这是您想要的。当秒数小于10时,Serial.print和lcd.print都将打印一个数字。您已通过在右侧位置打印该数字进行了补偿,但您没有在“十”位置更改左侧的数字。您需要打印前导0。