无锡网站制作中心,wordpress 注册页面插件,php网站建设情景,北京活动策划网站1定时器的基本概述
通过滴漏和漏沙瓶这两个例子简单讲述定时器的基本工作原理。 STM32的常见的定时器资源#xff1a; 系统嘀嗒定时器SysTick、看门狗定时器WatchDog、实时时钟RTC、基本定时器、通用定时器、高级定时器。 系统嘀嗒定时器SysTick #xff1a;这是一个集成在C…1定时器的基本概述
通过滴漏和漏沙瓶这两个例子简单讲述定时器的基本工作原理。 STM32的常见的定时器资源 系统嘀嗒定时器SysTick、看门狗定时器WatchDog、实时时钟RTC、基本定时器、通用定时器、高级定时器。 系统嘀嗒定时器SysTick 这是一个集成在Cortex M3内核当中的定时器它并不属于芯片厂商的外设也就是说使用ARM内核的不同厂商都拥有基本结构相同的系统定时器。主要目的是给RTOS提供时钟节拍做时间基准。基本定时器TIM6、TIM7。通用定时器TIM2、TIM3、TIM4、TIM5。在基本定时器的基础上实现输出比较、输入捕获、PWM生成、单脉冲模式输出等功能。这类定时器最具代表性使用也最广泛。高级定时器TIM1、TIM8。
2通用定时器的重要知识点 通用定时器的基本结构组成 STM32的通用定时器,是一个通过可编程预分频器Prescaler驱动的16位自动重装主计数器Counter Period构成。可以对内部时钟或触发源以及外部时钟或触发源进行计数。 通用定时器的基本工作原理 首先定时器时钟信号送入16位可编程预分配器Prescaler该预分配器系数为065535之间的任意数值。预分配器溢出后会向16位的主计数器Counter Period发出一个脉冲信号。预分频器本质上是一个加法计数器预分频系数实际上就是加计数的溢出值。 定时器发生中断时间的计算方法 定时时间 (Prescaler1 ) X (Counter Period1) X 1/ 定时器时钟频率 时钟信号1KHzPrescaler为9Counter Period为999定时时间 案例外部中断信号控制LED灯开关
在XMF07A或XMF07C开发板上利用STM32CubeMX和Keil5协同开发完成以下的功能 【1】利用TIM2实现间隔定时每隔0.2秒将LED1的开关状态翻转。 【2】利用TIM3实现间隔定时每隔1秒将LED2的开关状态翻转。 【3】修改TIM2的初始化代码改为每隔0.5秒将LED1的开关状态翻转。
/* USER CODE BEGIN 0 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{if(htim-Instance TIM2) //处理TIM2间隔定时中断{AL_GPIO_TogglePin(GPIOB,GPIO_PIN_9);}if(htim-Instance TIM3) //处理TIM3间隔定时中断{HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);}
}
/* USER CODE END 0 */
/* USER CODE BEGIN 2 */HAL_TIM_Base_Start_IT(htim2); //启动定时器TIM2HAL_TIM_Base_Start_IT(htim3); //启动定时器TIM3/* USER CODE END 2 */