外部中断若使用查询方式而不用中断,为什么必须要使用中断模式才可以

2019-08-19 19:27发布

捕获.PNG
如图,可以看到中断屏蔽寄存器与事件屏蔽寄存器都不使能,并不影响挂起寄存器受到外部引脚上升下降沿影响而置1;请看一下我的程序:
3.PNG
4.PNG

如果这么做的话,实验后是正确的。可是如果将EXTI_InitStructure.EXTI_Mode改为事件模式的话,那么实验结果是错的。但是我认为中断与事件,对挂起寄存器是无影响的。我的函数就是不断地在检测挂起寄存器。求教!!!!!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
jinggx
1楼-- · 2019-08-19 23:50
你这个就还是中断的工作方式,只是没有用中断函数而已。基本概念自己多看看。。
大嘴猴
2楼-- · 2019-08-20 03:50
jinggx 发表于 2016-10-4 23:56
你这个就还是中断的工作方式,只是没有用中断函数而已。基本概念自己多看看。。

您好!我这个是在查询挂起寄存器的相应标志位是否置一,根据第一个图片上的流程,中断屏蔽寄存器不必使能,挂起寄存器也会置一的啊?
大嘴猴
3楼-- · 2019-08-20 04:18
jinggx 发表于 2016-10-4 23:56
你这个就还是中断的工作方式,只是没有用中断函数而已。基本概念自己多看看。。

如果需要产生事件,必须先配置好并使能事件线。根据需要的边沿检测通过设置2个触发寄存器,同时在事件屏蔽寄存器的相应位写’1’允许事件请求。当事件线上发生了需要的边沿时,将产生一个事件请求脉冲,对应的挂起位不被置’1’。

谢谢您  我看到了这句话 明白啦!
憨厚诚实大叔
4楼-- · 2019-08-20 07:42
 精彩回答 2  元偷偷看……
憨厚诚实大叔
5楼-- · 2019-08-20 08:50
另外你这样用,还不如直接读取引脚电平
大嘴猴
6楼-- · 2019-08-20 13:12
憨厚诚实大叔 发表于 2016-10-6 14:43
另外你这样用,还不如直接读取引脚电平

谢谢您,我当初的问题是认为无论是事件或者中断,都不使能的话对挂起寄存器置位无影响。您回答的内容与我问的有些差异。
一楼的兄弟提醒我看一下参考手册,里面说只有使能中断挂起寄存器才能置位。我懂啦。

一周热门 更多>