STM32CubeMX开发之路—5定时器中断TIM


运行环境

工具版本说明
STM32CubeMXV5.0.0建议相同
Keil5V5.1.5建议相同

简介

本例程主要讲解如何使用定时器实现一个定时器中断,每秒打印一串数据


STM32CubeMx基本配置

基础配置过程请参考 STM32CubeMx(Keil5)开发之路—配置第一个项目


为了方便调试,重定向printf,进行usart设置
1——点击USART1进行设置
2——模式选择Asynchronous异步传输
3——可以看到右边自动出现了Tx和Rx
4——可以自行设置波特率,停止位,校验位等参数


1——点击Clock Configuration进行设置
2——注意这几个地方的时钟(后面进行分频设置的时候需要)


点击TIM1进行设置
1——时钟源Clock Source选择Intemal Clock
2——预分频选择36000-1也就是35999(注意16位最大只能表示65535)
3——自动重装载值设置为2000-1也就是1999
讲解:定时器更新中断的频率=时钟频率/(预分频+1)/(自动重装载值+1)
即 :72000000/36000/2000=1(HZ),也就是每秒进一次中断


在NVIC Setting里面勾选TIM1 update interrupt


代码修改


1——选择main.c文件
2——在USER CODE中添加如下代码,重定向printf

int fputc(int ch, FILE *f)
{
    HAL_UART_Transmit(&huart1, (uint8_t *)&ch,1, 0xFFFF);
    return ch;
}

在主函数中添加如下代码启动定时器


重写中断函数,打印"123456",即每秒打印一次


烧录代码后打开出口调试助手,正确的话会看到如下输出


  • 8
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

iot 小胡

从未指望过会有人打赏...

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

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

打赏作者

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

抵扣说明:

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

余额充值