外部中断的中断处理函数与串口问题

2019-08-14 05:17发布

在中断处理函数中使用了   判断Line几上的中断是否发生的函数:  if(EXTI_GetITStatus(EXTI_Line3)!=RESET)   
并在判断后进行清除标志位函数:EXTI_ClearITPendingBit(EXTI_Line3),  

但是手册上写的那两个 判断外部中断状态函数: EXTI_GetFlagStatus( )和EXTI_ClearFlag( )函数,
这两套函数  是不是功能相似,是不是可以相互替代???只不过一般都是在中断处理函数中使用第一种方式。

再就是这两套函数( if(EXTI_GetITStatus(EXTI_Line3)!=RESET)   和 EXTI_GetFlagStatus( ))都是可以直接写在中断处理函数中,,不需要在前面对这两个函数声明吗???
手册上是这样子说的: interrupt.jpg

另外,我下载原子哥的按键中断输入例程到精英版上,然后串口应用却不能选择端口,为什么??
串口.jpg

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
创世神
1楼-- · 2019-08-14 07:07
求解答。
操作系统
2楼-- · 2019-08-14 07:12
 精彩回答 2  元偷偷看……
创世神
3楼-- · 2019-08-14 10:13
操作系统 发表于 2017-8-27 13:11
get和clear怎么可能相同.一个是查看谁来了.一个是杀了他.

我说的   那两套函数  是指 GetITStatus和GetFlaStatus,,,这两个可以互相替代吧?

get和clear  肯定不一样,,一个是检测,一个是清除,,也就是你说的意思,,,
操作系统
4楼-- · 2019-08-14 13:44
创世神 发表于 2017-8-27 13:28
我说的   那两套函数  是指 GetITStatus和GetFlaStatus,,,这两个可以互相替代吧?

get和clear   ...

原来是我理解错了.
你是对的.这两个宏的实际内容是一样的.
可以互换.为了方便理解.给了两个不一定的宏名字.你可以查看他们的真值.
创世神
5楼-- · 2019-08-14 18:59
操作系统 发表于 2017-8-27 13:35
原来是我理解错了.
你是对的.这两个宏的实际内容是一样的.
可以互换.为了方便理解.给了两个不一定的宏 ...

我当时也没说清楚    
但是既然用这2个函数了,  在哪块有声明这两个函数(GetITStatus和GetFlaStatus)呢?  

请指教。
创世神
6楼-- · 2019-08-14 19:57
[img]C:UserslenovoDesktop             这个图里的    选择结构体里的四个成员变量     的框是怎么弄的??

一周热门 更多>