天天看點

stm32定時器實作 微秒延時

Cubemx配置圖

stm32定時器實作 微秒延時

 初始化無需使能定時器中斷。

代碼如下:

void delay_us(uint16_t us){
    uint16_t differ = 0xffff-us-5;              
    __HAL_TIM_SET_COUNTER(&htim17,differ);   //清空定時器17
    HAL_TIM_Base_Start(&htim17);     // 啟動定時器

    while(differ < 0xffff-5){   //計算
        differ = __HAL_TIM_GET_COUNTER(&htim17);     //擷取值
    }
    HAL_TIM_Base_Stop(&htim17);
}
           

繼續閱讀