在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);
- }
|