打印

关于STM32F10X系列单片机的中断问题

[复制链接]
1797|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zh5202|  楼主 | 2012-6-30 16:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近学习STM32F10x单片机中断章节(中文版,没有英文版本),发现如下描述:

     要产生中断,必须先配置好并使能中断线。根据需要的边沿检测设置2个触发寄存器(EXTI_RTSREXTI_FTSR),同时在中断屏蔽寄存器的相应位写’1’允许中断请求。当外部中断线上发生了期待的边沿时,将产生一个中断请求,对应的挂起位也随之被置’1’。在挂起寄存器的对应位写’1’,将清除该中断请求。
       如果需要产生事件,必须先配置好并使能事件线。根据需要的边沿检测设置2个触发寄存器(EXTI_RTSREXTI_FTSR),同时在事件屏蔽寄存器的相应位写’1’允许事件请求。当事件线上发声了需要的边沿时,将产生一个事件请求脉冲,对应的挂起位不被置’1’。
      在这里的挂起位就是我们平常说的中断标志位吧,那么发生了相应的中断/事件,为什么会出现不同的情况呢?
      是翻译出错了,还是本来就是这个样子的?请大侠帮忙解释一下。。
沙发
zh5202|  楼主 | 2012-7-5 09:58 | 只看该作者
怎么没人回答,难道没有人知道么?

使用特权

评论回复
板凳
香水城| | 2012-7-5 14:49 | 只看该作者
因为一个被配为中断模式,一个被配为事件模式

中断模式会产生中断挂起位,事件模式不会产生中断挂起位

如果看不懂中文文档,可以找英文原文看一下

www.st.com/mcu或者www.stmcu.org都可以很方便的下载到文档

使用特权

评论回复
地板
zh5202|  楼主 | 2012-7-13 13:04 | 只看该作者
3# 香水城
香主,你好,很高兴能收到你的回答。但是我的问题我没有写清楚:
在EXTI中有一个挂起寄存器EXTI_PR,而在中断向量控制器中也有对应的中断激活寄存器。
这两个寄存器就是平常的状态寄存器吧。中断向量控制器就是控制外部的中断请求能否经过通道设置对应的激活寄存器的位,而如果中断向量的中断激活寄存器置1表示要发生相应的中断,进入中断处理函数,是这样理解吧?
然后在把EXTI设置成事件触发之后,当发生了相应的事件,那么EXTI_PR寄存器的对应位应该是要被置1的,只是无法设置中断激活寄存器的对应位,所以不能进入中断。那么既然EXTI_PR有位置1,我通过软件轮询方式怎么查询不到该位置1了呢?搞不明白这点

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

248

帖子

2

粉丝