“Rtc中断”的版本间的差异
502748957@qq.com(讨论 | 贡献) |
502748957@qq.com(讨论 | 贡献) |
||
第24行: | 第24行: | ||
**计数器应用中为:FALLING | **计数器应用中为:FALLING | ||
− | 更多Arduino中断相关可参照官网的【 | + | 更多Arduino中断相关可参照官网的【[https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/ 详细说明]】 |
<p style="color: #E87E05;font-size:135%">'''示例'''</p> | <p style="color: #E87E05;font-size:135%">'''示例'''</p> |
2018年5月16日 (三) 09:16的最新版本
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);
}
其他