在tim.c中添加相应的代码:
void user_delaynus_tim(uint32_t nus)
{
//防止计数器增加到最大计数之后重新开始计数,将计数范围设置为60000
uint16_t differ = 60000-nus;
__HAL_TIM_SetCounter(&htim2,differ);
HAL_TIM_Base_Start(&htim2);
while( differ<60000)
{
differ = __HAL_TIM_GetCounter(&htim2);
};
HAL_TIM_Base_Stop(&htim2);
}
|