This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我现在正在使用HRPWM模块,具体配置如下:ePWM1、ePWM2、ePWM3均使用HRPWM,使用了SFO函数并且每个ePWM模块都开启了自动转换。但是只有ePWM1的HRMSTEP寄存器被修改了,ePWM2、ePWM3的HRMSTEP寄存器值都为0,截图如下:
之后看到driverlib的例程hrpwm_ex4_duty_updowm_sfo的解释:
这里说的updates MEP_ScaleFactor dynamically when HRPWM is in use updates HRMSTEP register (exists only in EPwm1Regs register space) with MEP_ScaleFactor value,指的是SFO函数用MEP_ScaleFactor的值只更改EPwm1的HRMSTEP寄存器值,而不会更改EPwm2、ePWM3等模块的HRMSTEP寄存器值吗?如果是这样的话,ePWM2、ePWM3等模块怎么知道这个MEP_ScaleFactor值是多少?(因为SFO函数只更改EPwm1的HRMSTEP寄存器值,而不会更改EPwm2、EPwm3的HRMSTEP寄存器值),还是说ePWM1模块的HRMSTEP寄存器保存的MEP_ScaleFactor值会和ePWM2、ePWM3等使能了HRPWM和自动转换功能的ePWM模块共享,ePWM2、ePWM3等ePWM模块只要使能了HRPWM功能和自动转换,就会自动地去使用ePWM1的HRMSTEP的值作为自己模块的MEP_ScaleFactor ?
希望各位工程师能解决一下我的问题,谢谢!