
定时器中断实验 一、实验说明 平台: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、测试,在中断中写句输出测试一下(实际开发,不会这样干的。) ![]() 因为要输出检查下串口。 下载程序,测试: 结果如下,0.5秒输出一次。 ![]() |
基于定时器捕获测量脉宽的应用示例
狂欢三】STM32C031使用TIM定时器DMA方式实现WS2812彩灯输出(三)
【狂欢三】STM32C031使用TIM定时器DMA方式实现PWM输出(二)
【狂欢三】STM32C031使用TIM定时器PWM输出
stm32使用定时器触发dma传输,启动dma没反应的几种情况的解决方法
定时器剩余通道是否可以做PWM输出呢?
基于STM32双定时器+ADC+DMA实战经验分享
基于STM32的定时器触发ADC时可能遇到的情形
【NUCLEO-U545RE-Q评测】5. 基本计时器
基于STM32的定时器不按设定超时产生中断