C++ lcd.print(“程序2(P2)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序3() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.打印(“程序3(P3)”; lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序4() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.print(“程序4(P4)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序5() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.print(“程序5(P5)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序6() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.print(“程序6(P6)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序7() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.print(“程序7(P7)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序8() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.print(“程序8(P8)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序9() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.print(“程序9(P9)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效降压(){ 如果(秒>0){ 秒-=1; }否则{ 如果(分钟>0){ 秒=59; 分钟-=1; }否则{ 如果(小时数>0){ 秒=59; 分钟=59; 小时数-=1; }否则{ //触发器(); } } } } 无效计时器(){ 延迟(150); 而(小时>0分>0秒>=0){ lcd.setCursor(0,2); //(小时=0。由于秒数始终大于0,因此计时器中有一个无限循环

C++ lcd.print(“程序2(P2)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序3() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.打印(“程序3(P3)”; lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序4() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.print(“程序4(P4)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序5() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.print(“程序5(P5)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序6() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.print(“程序6(P6)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序7() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.print(“程序7(P7)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序8() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.print(“程序8(P8)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效程序9() { lcd.clear(); lcd.setCursor(1,0);//列,行 lcd.print(“程序9(P9)”); lcd.setCursor(3,1); lcd.打印(“14分钟”); } 无效降压(){ 如果(秒>0){ 秒-=1; }否则{ 如果(分钟>0){ 秒=59; 分钟-=1; }否则{ 如果(小时数>0){ 秒=59; 分钟=59; 小时数-=1; }否则{ //触发器(); } } } } 无效计时器(){ 延迟(150); 而(小时>0分>0秒>=0){ lcd.setCursor(0,2); //(小时=0。由于秒数始终大于0,因此计时器中有一个无限循环,c++,arduino,C++,Arduino,对不起,它有点凌乱,到处都是,我也确定它也不是很流畅,但它的工作原理大多是lol 非常感谢您的帮助,并提前向您表示感谢 在定时器功能中。您有一个循环条件hours>0 | | min>0 | | seconds>=0。由于秒数始终大于0,因此计时器中有一个无限循环 如您所见,秒不会减少秒==0 void stepDown() { if (seconds > 0) { seconds -= 1; } else { if (minutes > 0) {

对不起,它有点凌乱,到处都是,我也确定它也不是很流畅,但它的工作原理大多是lol


非常感谢您的帮助,并提前向您表示感谢

定时器功能中。您有一个循环条件
hours>0 | | min>0 | | seconds>=0
。由于
秒数
始终大于0,因此
计时器中有一个无限循环

如您所见,秒不会减少秒==0

void stepDown() {
  if (seconds > 0) {
    seconds -= 1;
  } else {
    if (minutes > 0) {
      seconds = 59;
      minutes -= 1;
    } else {
      if (hours > 0) {
        seconds = 59;
        minutes = 59;
        hours -= 1;
      } else {
        //trigger();
      }
    }
  }
}

定时器
功能中。您有一个循环条件
hours>0 | | min>0 | | seconds>=0
。由于
秒数
始终大于0,因此
计时器中有一个无限循环

如您所见,秒不会减少秒==0

void stepDown() {
  if (seconds > 0) {
    seconds -= 1;
  } else {
    if (minutes > 0) {
      seconds = 59;
      minutes -= 1;
    } else {
      if (hours > 0) {
        seconds = 59;
        minutes = 59;
        hours -= 1;
      } else {
        //trigger();
      }
    }
  }
}


如果你问的是“C”,为什么这个标签是“C++”?它们是非常不同的语言。因为我的手机出于某种原因删除了+。现在编辑,谢谢。
start:
应该是一个注释,对吗?循环函数正在反复执行。您的
触发器
函数应该为
循环
设置参数。当
降压
返回时,控制返回到
循环
功能。然后它就可以解析您的参数并转到您想要的地方。@jstuartmilne,不,它甚至不应该在那里。我尝试了一个goto,但后来决定不做。如果你问的是“C”,为什么这个标签是“C++”?它们是非常不同的语言。因为我的手机出于某种原因删除了+。现在编辑,谢谢。
start:
应该是一个注释,对吗?循环函数正在反复执行。您的
触发器
函数应该为
循环
设置参数。当
降压
返回时,控制返回到
循环
功能。然后它就可以解析您的参数并转到您想要的地方。@jstuartmilne,不,它甚至不应该在那里。我试着去,但后来决定不去。啊,我明白你的意思。那里的编码很差,哈哈。有什么建议吗?@user355194将
seconds>=0
更改为
seconds>0
timer
在循环条件下运行。啊,我这么做了哈哈。谢谢你,布鲁斯。现在算是1,停下来,如果能解决你的问题,请考虑接受答案,我明白你的意思。那里的编码很差,哈哈。有什么建议吗?@user355194将
seconds>=0
更改为
seconds>0
timer
在循环条件下运行。啊,我这么做了哈哈。谢谢你,布鲁斯。现在计算为1,停止,请考虑接受答案,如果它解决了你的问题。