ST意法半导体
直播中

刘桂兰

7年用户 990经验值
私信 关注
[问答]

为什么STM32F401cdu用HAL_TIM_DMABurst_WriteStart无法输出PWM波形?

本人是STM32新手,所以采用CUBEMX生成项目,在MDK中采用HAL库来进行一些编程测试。
想用tiME3、TIME4作为时钟源,各自用第一通道输出频率随时可变占空比始终为50%的脉冲。
用平常的定时器中断方式、用HAL_TIM_PWM_Start_DMA都是可以输出波形的。
考虑HAL_TIM_DMABurst_WriteStart的方式,可以随时发既定数量的脉冲,改变频率而不用耗费更多的软件资源,所以进行了测试,结果无论怎样搞,这个函数都无法正确输出波形,DEBUG发现每次在进入HAL_TIM_DMABurst_MultiWriteStart,HAL_DMA_Start_IT执行时,hdma->State始终不能进入HAL_DMA_STATE_READY状态。导致返回HAL_ERROR,无法成功。
各位老师我该如何解决这个问题呢?

更多回帖

发帖
×
20
完善资料,
赚取积分