STM32学习笔记:HAL库创建定时器中断

使用的硬件为野火的骄阳STM32F407IGT6控制板。

通过CUBE MX设置定时器,每隔一段时间产生一个定时器中断,在中断在处理特定的事件;

大概的设置过程如下:

1,初始化一个定时器,STM32单片机的定时器分为基本定时器,通用定时器和高级定时器三类,定时中断功能为最基本功能,所有定时器都具备该功能,这里我们可以选择一个基本定时器TIM6。参数设置如下:预分频器Prescaler设置为840-1,计数周期Counter Period设置为20000-1,这样配置后,我们实际得到的TIM1定时器定时频率为84000000/840/20000=5Hz,定时周期200ms。(为了直观显示定时器有没有正常工作,我们可以设置一个LED灯,代码中用宏定义为LED1,GPIO初始化过于简单,在此不作表述)

2,设置计数模式为:Up向上计数

3,由于需要定时中断功能,我们在NVIC Setting页面开启TIM6 global interrupt,DAC1 and DAC2 underrun error interrupts。

4,通过CUBE MX自动生成的文件并不能直接使用,需要作如下修改:

 4.1手动开启定时器更新中断“ HAL_TIM_Base_Start_IT(&htim6);”,可以加在MX_TIMx_Init函数中,也可以直接加在main()函数中,效果都是一样的

void MX_TIM6_Init(void)
{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值