STM32CubeMX—定时器中断实验

定时器中断实验

一、实验说明

    平台:STM32F103RCT6

    本实验为定时器中断实验,使用STM32cube max 配置TIM3定时中断。

    注:实验中使用了串口,所以可以沿用上一个串口中断实验的配置。

二、实验操作

1、STM32系统基础配置。

详见上一个实验的步骤1 – 4。

2、配置好串口1。

详见上一个实验。

3、配置定时器

                                                        

             如上图选择定时器3,出现如下界面:

 

 

            然后配置具体参数:

           上一步选择后就会出现这个界面,配置好分频值,计数装载值,注意,第三个箭头那里要使能(ENABLE)自动重新装置值。

 

时间的计算

                           

                     这里 Tout = (5000*7200)/72MHZ = 0.5秒,所以0.5秒进一次中断。

4、定时器中断配置

 

5、然后生成代码

6、工程中添加代码

               首先要明确我们使用的是定时器的定时中断,也就是更新中断,所以要找对回调函数。

                void TIM3_IRQHandler(void)  stm32f1xx_it.c

                HAL_TIM_IRQHandler(&htim3);

                HAL_TIM_PeriodElapsedCallback(htim);

                __weak void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)   

 这就是这几个函数的跳转顺序,最后一个就是更新中断的回调函数,把它 复制到TIM.c中,如下图

 

7、开启中断

                HAL_TIM_Base_Start_IT(&TIM3_Handler);

 

8、测试,在中断中写句输出测试一下(实际开发,不会这样干的。)

      

  1. 因为要输出检查下串口。
  2. 下载程序,测试:

结果如下,0.5秒输出一次。

 

 

发布了19 篇原创文章 · 获赞 52 · 访问量 7920

猜你喜欢

转载自blog.csdn.net/qq_33728095/article/details/95973836