HAL库_定时器更新中断+流水灯

本文对比了STM32标准库和HAL库在处理定时器更新中断时的不同方法。标准库需要手动处理中断类型和清除标志位,而HAL库通过调用通用的中断处理函数简化了这一过程,用户只需关注真正的中断处理代码,即回调函数。文章详细解析了HAL库的中断处理流程,包括NVIC优先级设置、中断服务例程调用和具体中断类型的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对比标准库的流程使用HAL库编写定时器更新中断

标准库中使用定时器更新中断的方式:

1.开时钟,设置TIM的时钟

2.初始化定时器石基的结构体

3.调用Init初始化函数

4.处理定时器中断

HAL中使用定时器更新中断的方式:

1.开时钟

2.初始化定时器石基的结构体

3.处理定时器中断

3.1在CubeMx中设置NVIC的抢占优先级和子优先级

3.2 编写TIM3_IRQHandler    //重点

先来看标准库中怎么处理这个中断,首先从启动文件中找到定时器中断的函数名字,然后再函数里判断是定时器的哪种中断(更新?输入捕获?输出比较?),然后清标志位,然后才写我们在中断干什么的代码。HAL中处理的方式有些变化。

stm32fxx_it.c文件中找到了和标准库中一样名字的中断函数。


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值