【问题标题】:Timer library in ArduinoArduino中的定时器库
【发布时间】:2015-05-31 07:47:27
【问题描述】:

我正在做一个带有 arduino 4x4 键盘和 16x2 LCD 的计算器。我必须用定时器库为这个项目做定时器中断。之前问过这个Q,不知道一定要用定时器库。这是我的问题:如果用户在 30 秒内没有按下键盘上的任何一个按钮,计算器应该会自行关闭。如何使用计时器库做到这一点?

【问题讨论】:

  • 所以,您已经知道如何“关闭”它:定时器事件只会对引脚执行 digitalWrite() 以自行关闭 - 为此您需要一个外部电路。您需要在 30 秒后使用 after() 注册回调,并且您需要在任何按键时重新安排它,方法是在事件 id 上可能调用 stop() 并再次调用 after()。有用吗?

标签: timer arduino arduino-uno arduino-ide


【解决方案1】:

你可以使用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();
 }
}

【讨论】:

    猜你喜欢
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多