STM32中断与事件的理解

简介: STM32中断与事件的理解

事件与中断区别

很多时候,我们经常使用到中断。但是STM32还有一个东西叫做事件,那么这个事件是什么呢?看了上面这个文档我们知道:

(1)中断是需要CPU执行的,而事件是由硬件实现。


(2)事件不需要软件参与,所以响应速度也更快。


(3)事件降低了CPU的负荷,节省了中断资源。


这三句话基本就详细的介绍了事件与中断的区别,但是相比还有很多人无法理解,什么是CPU执行,什么是硬件实现。那么接下来我将人体比作一个单片机进行举例


举例

我们可以把人脑比作CPU,除了大脑以外的所有东西都是属于硬件部分。接下来我将以膝跳反射人们看见火灾之后打119这两个事情举例,分析何为中断,何为事件。


膝跳反射

接收过九年义务教育的人都知道,人是具备膝跳反射的。

(1)首先我先带大家回忆一下什么叫做膝跳反射。膝跳反射就是,当我们的膝盖在人没有注意的情况下,突然受到敲击,会出现抬腿的动作。


(2)初中生物书上面说了膝跳反射是不需要经过大脑控制,自发的行为。


(3)那么事件就很好理解了。当出现外来脉冲(膝盖突然受到敲击),人腿自动抬起(ADC采集,触发DMA等),全过程不需要大脑(CPU)参与。


人们看见火灾之后打119

想象一下,当我们看见了远处发生了火灾,这个时候我们会很自然的拿出手机拨打119。

(1)我们分析一下这个过程,我们先是看见火灾,然后大脑发送指令控制我们的双手,拿出手机拨打119。


(2)那么我们现在就理解中断是什么了。出现外来脉冲(看见火灾),产生中断(大脑处理事件发送指令),中断服务函数(拿出手机拨打119)。这个过程,大脑(CPU)参与了控制。


由上面这个例子我们也可以知道,为什么我们产生中断需要一个中断服务函数。因为,假如我们看见了火灾,产生的中断是,打电话给朋友说,我这里有日照金山,拍个照给你看。显然这是一个错误的中断行为。


正确的中断应该是怎么样的呢?发现有火灾,拨打119。看见日落金山,给朋友打电话,说我看见了日照金山,拍个照给你。

目录
相关文章
|
2月前
|
芯片
STM32F103标准外设库——中断应用/事件控制器(七)
STM32F103标准外设库——中断应用/事件控制器(七)
43 0
STM32F103标准外设库——中断应用/事件控制器(七)
|
6月前
|
芯片
STM32速成笔记(四)—中断
本文介绍了中断的概念,中断的相关名词,STM32外部中断配置方法以及使用中断的注意事项。给出了外部中断点亮LED程序设计思路和关键代码。
164 0
STM32速成笔记(四)—中断
|
11月前
STM32外中断
STM32外中断
58 0
|
11月前
|
数据格式
【STM32】串口通讯USART串口中断配置
【STM32】串口通讯USART串口中断配置
380 0
|
11月前
【STM32】通用定时器TIM2-TIM5中断配置方式+继电器控制
【STM32】通用定时器TIM2-TIM5中断配置方式+继电器控制
200 0
|
11月前
【STM32】高级定时器TIM1计数中断配置
【STM32】高级定时器TIM1计数中断配置
408 0
STM32的HAL库开发系列 - TIM定时器中断
STM32的HAL库开发系列 - TIM定时器中断
459 0
|
存储
STM32的HAL库开发系列 - ADC中断
STM32的HAL库开发系列 - ADC中断
289 0
|
编译器
STM32的HAL库开发系列 - GPIO中断/外部中断EXTI
STM32的HAL库开发系列 - GPIO中断/外部中断EXTI
542 0