STM32CubeMX—定时器中断实验

定时器中断实验

一、实验说明

    平台:STM32F103RCT6

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

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

二、实验操作

1、STM32系统基础配置。

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

2、配置好串口1。

详见上一个实验。

3、配置定时器

                                                   STM32CubeMX—定时器中断实验_第1张图片     

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

 

STM32CubeMX—定时器中断实验_第2张图片

 

            然后配置具体参数:

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

 

STM32CubeMX—定时器中断实验_第3张图片

时间的计算

                           STM32CubeMX—定时器中断实验_第4张图片

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

4、定时器中断配置

STM32CubeMX—定时器中断实验_第5张图片

 

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中,如下图

 

STM32CubeMX—定时器中断实验_第6张图片

7、开启中断

                HAL_TIM_Base_Start_IT(&TIM3_Handler);

 

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

      STM32CubeMX—定时器中断实验_第7张图片

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

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

STM32CubeMX—定时器中断实验_第8张图片

 

 

你可能感兴趣的:(Stm32学习)