零基础学STM32(八)-外部中断实验

本项目讲解所用工程均使用stm32f103C8T6芯片HAL库版本。

目录

原理讲解

初始化配置

代码书写


原理讲解

本节内容我们讲解外部中断实验,实验的效果和零基础学STM32(七)-按键控制LED灯实验效果一样,我们通过检测中断条件是否实现控制LED的点亮与熄灭,上一节的获取IO口的状态属于软件控制,而中断则属于硬件控制,具有高效性和便捷性,同时有效利用CPU资源。

什么是中断

中断是处理外部事件或内部异常的一种机制。

当发生某个约定好事件时,控制器可以暂停当前正在执行的任务,转而处理这个事件,处理完毕后再返回原来的任务。这种机制允许控制器高效地响应外部或内部事件,而无需持续检查这些事件的状态。举个简单的例子,我和小圣约好了中午一点去踢球,那么到了中午一点小圣就会停下手中的其他事儿和我去踢球。中午一点是中断约定好的“条件”,而踢球是达成中断后执行的任务。后续我们会出相关的讲解。

为什么需要学习中断

响应实时性:外部中断可以使得系统能够迅速响应外部事件,这对于需要实时处理的任务来说至关重要。

提高效率:通过外部中断,CPU不需要不断地轮询检查外部设备的状态,从而可以更有效地利用CPU资源,提高系统整体效率。

多任务处理:外部中断允许CPU在执行当前任务的同时,还能处理其他紧急任务,从而实现多任务处理

什么是中断源

中断源是指能够触发中断事件的硬件或软件实体。在中断驱动的系统中,中断源可以是一个硬件设备,也可以是一个软件产生的信号,它们能够向处理器发送中断请求(IRQ),请求处理器暂停当前正在执行的任务,转而执行相应的中断服务例程(ISR)来处理这个中断请求。

举一些常见例子:

外部中断(EXIT):如按钮按下、外部设备信号触发等,通过外部中断/事件控制器来管理。

定时器中断:当定时器计数达到预设值时,会产生中断。

串行通信中断:如UART、SPI、I2C等通信接口的数据接收完成或发送完成。

DMA中断:直接内存访问操作完成或出现错误时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彧佑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值