我在使用TMS320F28069的模拟比较器模块,但是无法配置,调试发现比较器模块的寄存器值写不进去(不改变,保持全0),在相同地方配置其他模块(ADC)的寄存器是可以的,这是因为什么呢?大家有没有遇到相同问题?求解惑啊!
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.
我在使用TMS320F28069的模拟比较器模块,但是无法配置,调试发现比较器模块的寄存器值写不进去(不改变,保持全0),在相同地方配置其他模块(ADC)的寄存器是可以的,这是因为什么呢?大家有没有遇到相同问题?求解惑啊!
这是配置寄存器的代码:
void InitComp(void)
{
// Initialize Comp1/2/3:
EALLOW;
AdcRegs.ADCCTL1.bit.ADCBGPWD = 1;//使能能带隙
Comp1Regs.COMPCTL.bit.SYNCSEL = 1;//输出同步
Comp1Regs.COMPCTL.bit.QUALSEL = 1;
Comp1Regs.COMPCTL.bit.CMPINV = 1;//
Comp1Regs.COMPCTL.bit.COMPSOURCE = 0;//反相端接DAC
Comp1Regs.DACVAL.bit.DACVAL = 512;//DAC:0~1023
Comp1Regs.COMPCTL.bit.COMPDACEN = 1;//使能
EDIS;
//tbd...
}
有EALLOW保护的,不过我也去保护了。而且上述初始化代码可以配置ADC模块寄存器的。有没有可能是芯片出了问题呢?
Yang,
建议检查下系统初始化函数中是否打开了比较器1Comp1的时钟信号,是否如下:
SysCtrlRegs.PCLKCR3.bit.COMP1ENCLK = 1; // COMP1