以下是使用计时器中断的代码示例,控制LED灯亮1秒后自动熄灭:
/* 定义LED灯输出引脚 */
int ledPin = 13;
/* 计时器中断时间间隔,单位为毫秒 */
const long interval = 1000;
/* 上一次更新时间 */
long prevMillis = 0;
void setup() {
/* 初始化LED灯输出引脚为输出模式 */
pinMode(ledPin, OUTPUT);
}
void loop() {
/* 获取当前时间 */
unsigned long currentMillis = millis();
/* 如果计时器中断时间间隔已过,则执行以下代码 */
if (currentMillis - prevMillis >= interval) {
/* 更新上一次更新时间 */
prevMillis = currentMillis;
/* 点亮LED灯 */
digitalWrite(ledPin, HIGH);
/* 延时1秒 */
delay(1000);
/* 熄灭LED灯 */
digitalWrite(ledPin, LOW);
}
}