求f28035中EPWM的CMPA和CMPB的应用解答

2019-03-24 11:53发布

在EPWM中初始化了各子模块,具体如下:
        EPwm1Regs.TBPRD = 1500; //1430;//                       // 20kHz        //1430=21k
        EPwm1Regs.TBPHS.half.TBPHS = 0x0000;            // Phase is 0
        EPwm1Regs.TBCTR = 0x0000;                       // Clear counter
        EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;  // Count up to down
        EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;         // Disable phase loading
        EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;        // Clock ratio to SYSCLKOUT
        EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;           //
        EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;
。。。。。。

                 if((wCurrentRef >= 2048) && (dwVoltOutTemp < 0))        //area4
                {
                        if(dwVoltOutTemp > -50)
                        {
                                dwVoltOutTemp = -50;
                        }
                        EPwm1Regs.CMPA.half.CMPA = -dwVoltOutTemp;
                        EPwm1Regs.CMPB = 1500;
                               }
请问当条件满足时输出的模型是怎么样的?求高手帮忙解答,谢谢! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
dontium
1楼-- · 2019-03-24 19:01
 精彩回答 2  元偷偷看……
506977544
2楼-- · 2019-03-24 20:17
< :TI_MSP430_内容页_SA7 --> 谢谢您的详细解答,很不好意思,我把一点弄错了,EPWM1按照如上初始化,但后面的EPwm1Regs.CMPA.half.CMPA = -50的时候我想问能不能有波形输出呢?谢谢。
dontium
3楼-- · 2019-03-25 01:56
506977544 发表于 2014-2-12 14:28
谢谢您的详细解答,很不好意思,我把一点弄错了,EPWM1按照如上初始化,但后面的EPwm1Regs.CMPA.half.CMPA  ...

赋-50,而这个寄存器是UINT型的,16位,你可以看看编译器会将-50转换为什么,
dontium
4楼-- · 2019-03-25 05:46
 精彩回答 2  元偷偷看……
506977544
5楼-- · 2019-03-25 09:53
谢谢你的热心详细回复,在学C语言时简单的整型数或者在8位单片机中也遇到过,但怎么在32位的应用中就一下子没想明白。非常感谢你的帮助。

一周热门 更多>

相关问题

    相关文章