“Rtc中断”的版本间的差异
502748957@qq.com(讨论 | 贡献) (创建页面,内容为“<p style="color: #666666;font-size:220%">'''RTC中断相关函数'''</p> <br> **rtc.clearTimerInt(); **detachInterrupt(0); **attachInterrupt(interrupt, ISR,…”) |
502748957@qq.com(讨论 | 贡献) |
||
(未显示同一用户的1个中间版本) | |||
第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> | ||
<br> | <br> | ||
− | ** | + | **该函数段用于触发中断并完成对应操作后清除中断标志位,并再次设置中断以备使用。 |
+ | **完整程序在rtc语法手册页面的示例中 | ||
<source lang="cpp"> | <source lang="cpp"> | ||
if (timerFlag==1){ | if (timerFlag==1){ |
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);
}
其他