利用定时器计时的原理,他能够记录你的单片机从开机后每一刻的绝对时间。下面给出实现的代码:
volatile uint32_t TimerCnt; //定时器中断的次数(设为全局变量)
void delay_us(uint16_t us) { uint16_t differ=0xffff-us-5; HAL_TIM_Base_Start(&htim7); __HAL_TIM_SetCounter(&htim7,differ); //设置定时器向上计数的数值,计算到us+5之后定时器会溢出,5us while(differ < 0xffff-5) { differ = __HAL_TIM_GetCounter(&htim7); //定时器从0开始向上计数,获取当前的数值 } HAL_TIM_Base_Stop(&htim7); } ———————————————— 版权声明:本文为CSDN博主「Kevin_8_Lee」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/Kevin_8_Lee/article/details/89243195
————————————————
版权声明:本文为CSDN博主「冬瓜~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44793491/article/details/107191273