if (wait < HAL_MAX_DELAY)
{
wait += (uint32_t)(uwTickFreq);
}
while ((TIM_GetTick() - tickstart) < wait);
}
/* USER CODE END 1 */
-------------------------------------------------------------------------------------------------------------------------------
定时器设计为每10us进入一次中断,同样是仿照systick编写
-------------------------------------------------------------------------------------------------------------------------------
void TIM1_UP_IRQHandler(void)
{
/* USER CODE BEGIN TIM1_UP_IRQn 0 */
/* USER CODE END TIM1_UP_IRQn 0 */
HAL_TIM_IRQHandler(&htim1);
/* USER CODE BEGIN TIM1_UP_IRQn 1 */
TIM_IncTick();
/* USER CODE END TIM1_UP_IRQn 1 */
}
-------------------------------------------------------------------------------------------------------------------------------
到这里就很神奇了,这里TIM_IncTick函数有时候会报错undefined reference to `TIM_IncTick'
但在这个文件里已经include了tim.h
以上函数用于模拟PWM输出控制LED的亮度
-------------------------------------------------------------------------------------------------------------------------------
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
}
/* USER CODE END 3 */
-------------------------------------------------------------------------------------------------------------------------------
单步调试的时候发现一直卡在第一个Delay_10us的while循环里,不知道为什么,请大佬们帮忙看看