Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
Timer Arduino中的计时器库_Timer_Arduino_Arduino Uno_Arduino Ide - Fatal编程技术网

Timer Arduino中的计时器库

Timer Arduino中的计时器库,timer,arduino,arduino-uno,arduino-ide,Timer,Arduino,Arduino Uno,Arduino Ide,我正在做一个带arduino 4x4键盘和16x2 LCD的计算器。我必须用定时器库为这个项目做定时器中断。我以前问过这个问题,但我不知道我必须使用计时器库。这是我的问题:如果用户在30秒内没有按下键盘上的某个按钮,计算器应该自动关闭。如何使用计时器库实现此功能?您可以使用millis函数代替计时器库: // setup long int time; void loop(){ // get input if(input){ interpretInput(input); //

我正在做一个带arduino 4x4键盘和16x2 LCD的计算器。我必须用定时器库为这个项目做定时器中断。我以前问过这个问题,但我不知道我必须使用计时器库。这是我的问题:如果用户在30秒内没有按下键盘上的某个按钮,计算器应该自动关闭。如何使用计时器库实现此功能?

您可以使用millis函数代替计时器库:

    // setup

long int time;

void loop(){
 // get input
 if(input){
  interpretInput(input); // For example
  time = millis();
 }
 if(millis()>time+30000){    // if there is more than 30 seconds between now and the last input, then call your shutdown function
  shutdown();
 }
}

因此,您已经知道如何关闭它:计时器事件将只执行对管脚的数字写入,然后自行关闭-为此,您需要一个外部电路。您需要在30秒后向注册回调,并且需要在任何按键时通过再次调用事件id上的“可能停止”来重新安排回调。它有效吗?