InitSysCtrl();
InitGpio();
DINT;
IER=0x0000;
IFR=0X0000;
InitPieVectTable();
InitPieCtrl();
ERTM;
EPwmSetup();
//DELAY_US(1000);
for(;;);
占空比给的是0.5,当我直接运行的时候会出现PWM波形,但是当我单步运行的时候确出不来PWM波形,以为是时间原因,后面加入延时函数之后也没有用。
user4599811:已经知道了,PWM会计数,当单步的时候计数寄存器停掉了。
InitSysCtrl();
InitGpio();
DINT;
IER=0x0000;
IFR=0X0000;
InitPieVectTable();
InitPieCtrl();
ERTM;
EPwmSetup();
//DELAY_US(1000);
for(;;);
占空比给的是0.5,当我直接运行的时候会出现PWM波形,但是当我单步运行的时候确出不来PWM波形,以为是时间原因,后面加入延时函数之后也没有用。
user450161651:PWM是计时器不听的计数发出的信号,单步的时间就是计数-关掉-计数-关掉…….的循环
InitSysCtrl();
InitGpio();
DINT;
IER=0x0000;
IFR=0X0000;
InitPieVectTable();
InitPieCtrl();
ERTM;
EPwmSetup();
//DELAY_US(1000);
for(;;);
占空比给的是0.5,当我直接运行的时候会出现PWM波形,但是当我单步运行的时候确出不来PWM波形,以为是时间原因,后面加入延时函数之后也没有用。
mangui zhang:
回复 user4599811:
嗯。可能受程序里面的其他寄存器了。不然PWM可以不依靠CPU直接运行
InitSysCtrl();
InitGpio();
DINT;
IER=0x0000;
IFR=0X0000;
InitPieVectTable();
InitPieCtrl();
ERTM;
EPwmSetup();
//DELAY_US(1000);
for(;;);
占空比给的是0.5,当我直接运行的时候会出现PWM波形,但是当我单步运行的时候确出不来PWM波形,以为是时间原因,后面加入延时函数之后也没有用。
Susan Yang:
回复 user4599811:
谢谢分享答案!您可以看一下单步调试执行完后PWM的counter是否在增加