前言
本文带大家配置定时器写一个us级延时函数。
一、cubeMX配置
定时器配置
二、代码解析
//微秒延时
void Delay_us(uint16_t us)
{
uint16_t differ = 0xffff-us-5;
__HAL_TIM_SET_COUNTER(&htim1,differ); //设定TIM1计数器起始值
HAL_TIM_Base_Start(&htim1); //启动定时器
while(differ < 0xffff-5)//判断
{
differ = __HAL_TIM_GET_COUNTER(&htim1); //查询计数器的计数值
}
HAL_TIM_Base_Stop(&htim1);//关闭定时器
}
总结
使用上述代码即可实现us级延时。
版权声明:本文为m0_49476241原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。