STM32CubeMx 定时器实现 微妙级延迟函数

 单片机型号 STM32F3

STM32Cubmx 配置 

先看一下时钟配置

 

 

定时器时钟是72MHz 

使用定时器4来做延迟计数

 

 

 

 

void Delay_us(uint32_t us)
{
    uint32_t counter = 0;
    __HAL_TIM_SET_COUNTER(&htim4, 0);
    HAL_TIM_Base_Start(&htim4);

    while(counter < us)
    {
      counter = __HAL_TIM_GET_COUNTER(&htim4);
    }

    HAL_TIM_Base_Stop(&htim4);
}

 

posted @ 2021-10-18 21:25  小小小p鱼  阅读(713)  评论(0编辑  收藏  举报