ePWM6 模块初始化与配置 - TMS320F28x
这段代码是用来初始化和配置ePWM6模块的。具体来说,它通过设置时基模块、比较模块、动作限定模块、事件触发模块和死区/斩波模块的相关寄存器来配置ePWM的功能。
EPWM6_Init函数用于初始化ePWM6模块。它接受一个参数tbprd,表示PWM的周期。在函数中,首先使能ePWM外设时钟和失能时基模块时钟。然后调用InitEPwm6Gpio函数初始化ePWM6对应的GPIO引脚。接着设置时基模块相关寄存器,包括同步选择、相位使能、相位寄存器、计数寄存器、周期寄存器和计数模式等。再者,设置比较模块相关寄存器,包括CMPA和CMPB的影子模式、装载模式和初值。然后,设置动作限定模块相关寄存器,包括当时基计数器为0时,ePWM6A输出0;当向上计数时,当时基计数器与CMPA寄存器相等时,ePWM6A输出1;当时基计数器为0时,ePWM6B输出1;当向上计数时,当时基计数器与CMPB寄存器相等时,ePWM6B输出0。接下来,设置事件触发模块相关寄存器,包括事件触发选择寄存器和事件触发分频寄存器,以及使能中断。最后,设置死区/斩波模块相关寄存器,包括死区输出控制、死区极性选择、死区输入模式和死区初始值。最后,使能时基计数器时钟。
EPwm6A_SetCompare函数用于设置ePWM6A通道的占空比。它接受一个参数val,表示占空比的值。在函数中,将val赋值给CMPA寄存器,从而设置ePWM6A通道的占空比。
EPwm6B_SetCompare函数用于设置ePWM6B通道的占空比。它接受一个参数val,表示占空比的值。在函数中,将val赋值给CMPB寄存器,从而设置ePWM6B通道的占空比。
原文地址: https://www.cveoy.top/t/topic/o8pv 著作权归作者所有。请勿转载和采集!