共用中断和共用中断函数的判断
来源:互联网 发布:免费证件制作软件下载 编辑:程序博客网 时间:2024/04/28 09:09
使用 EXTI_GetITStatus()来查询哪根线产生了中断。比如EXTI_GetITStatus(EXTI_Line13)就是查询13线是否产生了中断的。
还有 :当初你在设置中断引脚的时候都是不能把PB1和PD1同时设置为中断源的。如果非要设置,后面设置的会把前面的覆盖掉的。
编写中断服务函数经常需要使用两个函数。 第一个是判断某个中断线上的中断是否发生(即标志位是否置位): ITStatus EXTI_GetITStatus(uint32_t EXTI_line); //放在中断服务函数开头,监测中断标志位 第二个是清除某个中断线上的中断标志位(即清除标志位): void EXTI_ClearITPendingBit(uint32_t EXTI_Line);//放在函数的结尾
常用外部中断服务函数的格式: //格式一 void EXTI3_IRQHandler(void) { If( EXTI_GetITStatus(EXTI_Line3)!-=RESET)//判断是否置位 { Dosomething();//执行中断事件 EXTI_ClearITPendingBit(EXTI_Line3);//清零LINE上标志位 } } //======================================================== //格式二 void EXTI3_IRQHandler(void) { If( EXTI_GetFlagStatus(EXTI_Line3)!-=RESET)//判断是否置位 { Dosomething();//执行中断事件 EXTI_ClearFlag(EXTI_Line3);//清零LINE上标志位 } } //======================================================== 区别:EXTI_GetITStatus()会先判断该中断是否使能,若使能了再判断中断标志位,而EXTI_GetFlagStatus()直接判断中断标志位是否置位(马虎点)。所以说方式一的EXTI_GetITStatus()会好点,一般配合EXTI_ClearITPendingBit()使用。
0 0
- 共用中断和共用中断函数的判断
- 共用中断和共用中断函数的判断
- STM32共用中断和共用中断函数的判断
- STM32共用中断线的外部中断引脚的判断
- 共用中断源
- SylixOS 共用中断号机制
- 关于STM32外部中断EXTI10-15,EXTI5-9共用一个中断向量处理方法
- 共用体的应用(判断端序)
- 动态绑定javascript函数的共用方法
- 共用体和结构的嵌套
- php 和 java共用的加密方法
- IPP库和OpenCV的共用
- 共用体的定义和应用【C++】
- Mathematica和Matlab共用net的dll
- 结构体和共用体的大小
- foreach和&共用出现的问题
- 中断函数和中断处理函数
- 共用体和枚举
- javascript 数组 二十七
- UVA 10881 Piotr's Ants -
- UI心得之显示4个图片
- iOS系统消息
- c++中常量的两种定义方式
- 共用中断和共用中断函数的判断
- 欢迎使用CSDN-markdown编辑器
- Android实现异步的几种方法
- 用Eclipse Memory Analyzer查找内存泄露
- 主机启动详细过程
- 获取当前屏幕显示的viewcontroller
- JavaScriptSerializer 序列化json 时间格式
- protobuf使用方法
- [SQLServer] 查询正在执行的Procedure