如何在Arduino中编写一个按键触发的计时器程序
时间: 2024-12-14 11:13:44 浏览: 111
在Arduino中编写一个按键触发的计时器程序,通常会涉及以下几个步骤:
- 包含库:首先需要包含
TimerOne.h
库,因为Arduino Uno和其他一些板子上有一个单独的定时器(Timer One)可以用于计时。
#include <TimerOne.h>
- 初始化定时器:使用
attachInterrupt()
函数设置按键中断,当按键按下时开始定时,并在特定时间过后执行回调函数。
const int buttonPin = 2; // 设定你的按键连接到数字2引脚
volatile bool timerRunning = false;
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // 设置按键为上拉模式
attachInterrupt(digitalPinToInterrupt(buttonPin), startTimer, FALLING);
}
- 开始/停止计时:
startTimer
函数会在按键按下时被调用,启动定时器并设置计时时间。
void startTimer() {
if (!timerRunning) { // 防止多次连续按下的干扰
timerRunning = true;
Timer1.initialize(1000); // 设置定时时间为1秒(毫秒)
Timer1.attachInterrupt(timerElapsed);
}
}
void timerElapsed() {
if (timerRunning) {
// 计时到达后,这里可以添加你的处理逻辑,比如LED点亮、打印日志等
Serial.println("Timer elapsed!");
timerRunning = false; // 停止计时
detachInterrupt(digitalPinToInterrupt(buttonPin)); // 解除按键中断
}
}
- 结束与清理: 在程序结束时,记得解除按键中断以避免资源泄漏。
void loop() {}
相关推荐


















