STM32CubeMX 定时器

目录

一、定时器基础

二、STM32CubeMX配置

1.配置外部时钟源

 2.TIM配置

3.保存工程,生成代码

三、Keil代码 

1.在main函数添加

2.用户编辑代码区,编写回调函数

3.编译成功后,下载,小灯一秒闪烁一次 


一、定时器基础

1.STM32的通用定时器是一个通过可编程预分频器(Prescaler)驱动的16位自动重装主计数器(Counter Period)构成。可以对内部时钟触发源以及外部时钟触发源进行计数。

2.通用定时器的基本工作原理:

定时器时钟信号送入16位可编程预分频器(Prescaler),该预分频器系数在0~65535之间

预分频器溢出后,会向16位的主计数器(Counter Period)发送一个脉冲信号

预分频器,本质上是一个加法计数器,预分频系数实际就是加法计数器的溢出值

3.定时器发生中断的计算方法:

定时时间=(Prescaler+1)*(Counter Period+1)* 1/定时器时钟频率

二、STM32CubeMX配置

1.配置外部时钟源

配置定时器时钟频率72MHZ

 pc13引脚输出高电平 

 2.TIM配置

LED每隔1S闪烁,选择内部时钟,预分频(Prescaler)直接用最大65535,主计数器用999

 开启中断-高级定时器

勾选 TIM 1 update interrupt 后的 Enabled 

3.保存工程,生成代码

三、Keil代码 

1.在main函数添加

HAL_TIM_Base_Start_IT(&htim1); //定时器1使能

2.用户编辑代码区,编写回调函数

   

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
       {
        if(htim->Instance == htim1.Instance)
        {HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);}
       }

3.编译成功后,下载,小灯一秒闪烁一次 

链接:https://pan.baidu.com/s/13W6juOHL_IzpaMD9H56nsw  密码:w6ul

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

chem4111

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

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

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

打赏作者

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

抵扣说明:

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

余额充值