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

所属分类:STM32F系列 浏览数:83 提问者: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不完全手册

STM32不完全手册

本书对28个实例进行了详细讲解,包括MDK使用及技巧等。实例代码全部为操作寄存器的方式实现。
ARM快速嵌入式系统原型设计

ARM快速嵌入式系统原型设计

本书通过mbed介绍嵌入式系统设计的所有主要议题,便于读者快速掌握嵌入式系统的设计方法。
STM32库开发实战指南

STM32库开发实战指南

本书围绕库的分析和使用,对综合运用固件库开发项目给出了具体范例,循序渐进、系统地掌握。
广告