Rtc中断
502748957@qq.com(讨论 | 贡献)2018年5月16日 (三) 09:14的版本
RTC中断相关函数
- rtc.clearTimerInt();
- detachInterrupt(0);
- attachInterrupt(interrupt, ISR, mode);
作用
- 中断可用于计时等外部触发相关功能
参数
- rtc.clearTimerInt(); //rtc清除中断标志
- detachInterrupt(0); //Arduino 解除中断
- attachInterrupt(interrupt, ISR, mode); //Arduino 设置中断
- interrupt为中断号,计时器应用中,中断0对应D2引脚
- ISR:中断发生时的中断服务程序。这个函数必须没有参数没有返回值,计数器应用中为blink()函数
- mode:定义中断触发类型,有四种形式:
- LOW:低电平触发;
- CHANGE:电平变化触发;
- RISING:上升沿触发(由LOW变为HIGH)
- FALLING:下降沿触发(由HIGH变为LOW)
- 计数器应用中为:FALLING
更多Arduino中断相关可参照官网的【[| 详细说明]】
示例
- 该函数段用于触发中断并完成对应操作后清除中断标志位,并再次设置中断以备使用。
- 完整程序在rtc语法手册页面的示例中
if (timerFlag==1){
Serial.print("blink!\r\n");
//清除中断
rtc.clearTimerInt();
detachInterrupt(0);
timerFlag=0;
attachInterrupt(0, blink, FALLING);
}
其他