运行环境
Windows10
STM32CubeMX___Version 5.0.0
Keil5(MDK5)___Version 5.15
简介
本例程主要讲解如何使用定时器实现一个定时器中断,每秒打印一串数据
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",即每秒打印一次
烧录代码后打开出口调试助手,正确的话会看到如下输出
上一篇:STM32CubeMX(Keil5)开发之路——6外部中断
下一篇:STM32CubeMx(Keil5)开发之路——4采用DMA方式收发数据
推荐阅读最新更新时间:2024-11-17 09:24