HAL_StatusTypeDef HAL_TIM_PWM_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length)的channal设置channal1可以顺畅运行,设置channal2/3/4都会卡死在" htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = TIM_DMADelayPulseCplt"这一步,如图片所示,设置channal1运行成功后调试器最后可以输出“i OUT”,设置channal2/3/4只能显示到“i here 1”,表明" htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = TIM_DMADelayPulseCplt"这一步没有运行,求各位有没有解决办法。工程是由stm32cubemx配置freeRTOS之后生成的,实现由PWM_DMA发送ws2812的数据。 |
• 设置TIM1_channnal1
TIM1_channal1运行成功
设置TIM1_channnal2
TIM1_channal2运行失败
看一下你CubeMX里面配置是否都添加了通道2、3、4的DMA配置。 |
如果CUMBE MX 中没有对其他通道的配置,相当于该外设部分没有初始化。 |