HAL_TIM_PWM_Start_DMA is calling HAL_DMA_Start_IT. If HAL_DMA_Start_IT doesn't return HAL_OK, HAL_TIM_PWM_Start_DMA returns HAL_ERROR. In my case, HAL_DMA_Start_IT returns HAL_BUSY. This is due to its hdma->State not being HAL_DMA_STATE_READY. I checked ...
定时器有关的库函数原型 HAL_StatusTypeDef HAL_TIM_Base_Start_IT (TIM_HandleTypeDef * htim) ; HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel) ; 正确的函数调用() A、HAL_TIM_Base_Start_IT(&htim2); B
中断模式下定时器时基启动函数A.HAL_TIM_PeriodElapsedCallback()B.HAL_TIM_PWM_Start_IT()C.HAL_TIM_IC_S
HAL_TIM_PWM_Start_DMA is calling HAL_DMA_Start_IT. If HAL_DMA_Start_IT doesn't return HAL_OK, HAL_TIM_PWM_Start_DMA returns HAL_ERROR. In my case, HAL_DMA_Start_IT returns HAL_BUSY. This is due to its hdma->State not being HAL_DMA_STATE_...
HAL_TIM_PWM_Start_DMA(&htim1, TIM_CHANNEL_1, data, 1); it returns HAL_ERROR and well, the CCR1 value doesn't get updated. I tried to troubleshoot it but kind of reached an impass. I traced the origin of the return value HAL_ERROR: ...