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的相应位就可以
谢谢!
Green Deng:
你好,1、其实根据PWM模块的原理图基本可以看出来,PWM输出的最后一个决定性模块是TZ模块。也就是说,PWM输出的结果最终是根据TZ模块决定的。
2、据我印象应该是没有指示PWM引脚状态的寄存器的,只能通过外接指示器的方式来看。
,
jun liu:
谢谢您的解答