再问如何以DMA方式产生互补的两路PWM信号

所属分类:STM32F系列 浏览数:376 提问者:calljiqing 提问时间:2017-10-12
标签:stm32pwmdma

问:

前几天经高手指点,学会了借助TIM_CCxChannelCmd以及HAL_TIM_PWM_Start_DMA和HAL_TIMEx_PWMN_Start_DMA实现了同一DMA通道的两路互补PWM。但是如果想实现第二个和第三个DMA通道的两路互补PWM(一共6路PWM)却遇到新问题: 我做了一下测试,第一个DMA通道的两路互补PWM总是屏蔽后面通道的所有PWM,如果删掉第一个通道,第二个通道的两路互补PWM就会正常显现,以此类推。难道还需要做其它什么设置吗? 有点急,请再赐教。


答:你好,你用的是cube开发的底层代码,我不是很熟悉,但是我用库函数的方式是实现了六路互补输出,用在电机驱动上
回答者:贺工 回答时间:2017-10-12

答:我用的也是HAL库函数,就是stm32cubef3示例程序中的TIM DMA,采用DMA方式。
回答者:calljiqing 回答时间:2017-10-12

登录后回答。
图书推荐
STM32 HAL库开发实战指南

STM32 HAL库开发实战指南

基于野火挑战者F7开发板和HAL库,全书共980页,全书由浅入深,步步为营,有广度也有深度。
Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC

Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC

Using FreeRTOS and libopencm3 instead of the Arduino software environment, ...
Programming With STM32 : Getting Started With the Nucleo Board

Programming With STM32 : Getting Started With the Nucleo Board

Get up and running programming the STM32 line using the hands-on information ...
广告