cubeMX设置。主频84M,99代表最大延时99us,因为不是使用中断,可以任意设定。
void delay_us(uint16_t us) //微秒延时
{
uint16_t differ = 0xffff-us-5;
//设定TIM6计数器起始值
__HAL_TIM_SET_COUNTER(&htim6,differ);
//启动定时器
HAL_TIM_Base_Start(&htim6);
//判断
while(differ < 0xffff-5){
differ = __HAL_TIM_GET_COUNTER(&htim6); //查询计数器的计数值
}
//关闭定时器
HAL_TIM_Base_Stop(&htim6);
}