
看上面图应该是在COMPSTS置1处,RAMPSTS会载入RAMPMAXREF值,但是调试的现象是COMP置1后,RAMPSTS会保持计数到的值不变,到下一个PWMSYNC到来之后继续计数,
EALLOW;
// 比较器和DAC使能;
Comp1Regs.COMPCTL.bit.COMPDACEN = 1;
Comp1Regs.RAMPMAXREF_SHDW = 0xfff0;
Comp1Regs.RAMPDECVAL_SHDW = 0x0100;
// 0:COMP-链接内部DAC模块 1:链接外部引脚
Comp1Regs.COMPCTL.bit.COMPSOURCE = 0;
// 1:内部DAC:由 RAMPSTS 寄存器控制; 0:DAC由 DACVAL 寄存器控制
Comp1Regs.DACCTL.bit.DACSOURCE = 1;
//PWMSYNC1 is the source sync RAMPSOURCE+1
Comp1Regs.DACCTL.bit.RAMPSOURCE = 0;
Comp1Regs.DACCTL.bit.FREE_SOFT =0;
// Synchronized value of comparator is passed through
Comp1Regs.COMPCTL.bit.QUALSEL = 5;
//0:Asynchronous version of Comparator output is passed
//1:Synchronous version of Comparator output is passed
Comp1Regs.COMPCTL.bit.SYNCSEL=0;
// 输出信号反转;COMP+>COMP-,输出高电平;反之,输出低;
Comp1Regs.COMPCTL.bit.CMPINV = 0;
EDIS;
希望大佬帮忙给看看是哪配置的问题