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.

TMS320F28027: 询问PWM模块的CBC功能

Part Number: TMS320F28027

例如:设置PWM2为UPDOWMN模式,并且设置中断如下

EPwm2Regs.CMPB=EPwm2Regs.TBPRD-25;
// Interrupt where we will change the Compare Values
EPwm2Regs.ETSEL.bit.INTSEL=ET_CTRD_CMPB;
EPwm2Regs.ETSEL.bit.INTEN = 1;
EPwm2Regs.ETPS.bit.INTPRD = ET_1ST;
EPwm2Regs.ETCLR.bit.INT= 1;


//这里采用CPMA做源,PWMxB的输出是PWMxA的取反
EPwm2Regs.DBCTL.bit.IN_MODE = DBA_ALL; 
EPwm2Regs.DBCTL.bit.OUT_MODE =DB_FULL_ENABLE;
EPwm2Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;

现在有个疑问原本在中断来的时候PWM2A输出为H(即高电平),但这时候我设置CBC为1

EPwm2Regs.TZCTL.bit.TZA=TZ_FORCE_LO;

EPwm2Regs.TZFRC.bit.CBC=1;

下个中断周期

EPwm2Regs.TZCLR.bit.CBC=1;

请问这个时候PWM2A输出的电平的情况与什么有关?

还有是否有寄存器指示当前PWM2的两个引脚输出的电平状态?例如我想知道GPIO引脚现在输出的状态可以通过读取GPADAT的相应位就可以

谢谢!

  • 你好,1、其实根据PWM模块的原理图基本可以看出来,PWM输出的最后一个决定性模块是TZ模块。也就是说,PWM输出的结果最终是根据TZ模块决定的。

    2、据我印象应该是没有指示PWM引脚状态的寄存器的,只能通过外接指示器的方式来看。

  • 谢谢您的解答