STM32day6--中断和事件


一、中断和事件

1.总览二者

下面是整个中断和事件的框图,可以看到我使用不同颜色标出了重点
(1)黑色为输入:要注意到事件和中断本质的输入一样的
(2)蓝色为中断:这里是中断的关键寄存器
(3)红色为事件:这里是事件的关键寄存器
(4)绿色为NVIC:是中断需要的控制寄存器
这里其实我们就可以嗅到一些气息,事件很可能处理是要比中断更加迅速的,毕竟不需要经过NVIC
在这里插入图片描述

2.中断和事件的区别

其实在上面就已经指出了一些东西,但是在这里进行更多的一些分析
从框图可以看出整个中断和事件的前驱流程是,
(1)input line
(2)edge detect边沿检测
(3)software interrupt/event软件中断/软件事件是否触发
这里可以看出两个要点
(1)软件中断和软件事件优先级是高于事件和中断的
(2)事件和中断有相同的处理时间段
但是上面所说的前驱流程过后,后面就出现了中断和事件的不同之处了
(1)二者都会各自经过一个与门,而各自相与的是中断屏蔽寄存器/事件屏蔽寄存器,也就是说他们分别进入了各自的流程,且为同时判断的(这里我还推测,其实是可以中断和事件同时触发的,如果这样做可能可以在某种程度上加速运算)
(2)在进行了是否为中断/事件的判断后二者进入了完全不同的流程了
--------对于中断,会进入挂起请求寄存器(pending request,等待请求),如果没有所谓的挂起,那么中断就不会进入NVIC,那么就不会处理。如果进入了挂起请求寄存器,后续会到达NVIC(Nested vectored interrupt controller )也就是嵌套向量中断寄存器,进行中断的一些处理,这是是需要和处理器协同运作的,所以会需要更多的内存
--------对于事件,后续进入的是一个脉冲的发生器,完全不进入处理器也不需要进入NVIC,这样就降低了处理器的负荷,提高了运行速度

3.总结

(1)中断:需要NVIC参与,需要处理器处理,速度慢
(2)事件:不需要NVIC,处理器,单独进行,响应快

二、EXTI

1.EXTI介绍

EXTI(External Interrupt/Event Controller):也就是外部中断和事件控制器
(正常来讲应该先了解NVIC,但是个人认为EXTI包含了中断和事件两个单元,而NVIC仅仅是包含了中断的一些设置啥的,应该还是排在后续,所以先了解EXTI或许不是一个坏选择)

2.EXTI功能

其实从名字就了解的七七八八了,就是对中断和事件进行一个控制嘛:),同时有23条单独对于中断和事件的

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值