① 定时器
(1)定时;
(2)计数;
(3)计时;
② 时基部分
(1)时钟源:外部分频;
(2)计数器;
< 1 >递增;
< 2 >递减;
< 3 >中心对齐;
(3)自动重载寄存器;
③ 任务:使用定时器实现精准延时
代码:
#include "mapp.h"
uint32_t TIM3_count = 0;
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(TIM3_count>0)
TIM3_count --;
}
void Tim3_Delay(uint32_t n)
{
TIM3_count = n;
HAL_TIM_Base_Start(&htim3);
HAL_TIM_Base_Start_IT(&htim3);
while(TIM3_count >0);
HAL_TIM_Base_Stop_IT(&htim3);
HAL_TIM_Base_Stop(&htim3);
}