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.

TMS320F28075: 关于CMPSS的配置问题

Part Number: TMS320F28075

准备配置ADCINB2的过流保护功能(该通道已经测试过好用),根据手册,使用CMPSS3来配置,代码如下。

EALLOW;//内部比较器
Cmpss3Regs.COMPCTL.bit.COMPDACE = 1;//使能

Cmpss3Regs.COMPCTL.bit.COMPHSOURCE = 0;//高比较器反向输入端用内部DAC模块
Cmpss3Regs.COMPCTL.bit.COMPLSOURCE = 0;//低比较器反向输入端用内部DAC模块

Cmpss3Regs.COMPDACCTL.bit.SELREF = 0;//VDDA为基准

Cmpss3Regs.DACHVALS.bit.DACVAL = 2048+900;//比较值
Cmpss3Regs.DACLVALS.bit.DACVAL = 2048-900;

Cmpss3Regs.COMPCTL.bit.COMPHINV = 0;//高DAC不反向
Cmpss3Regs.COMPCTL.bit.COMPLINV = 1;//低DAC反向,因为负方向电流越大,输出电压幅度越小

Cmpss3Regs.COMPCTL.bit.CTRIPLSEL = 0;//异步
Cmpss3Regs.COMPCTL.bit.CTRIPHSEL = 0;

Cmpss3Regs.COMPHYSCTL.bit.COMPHYS = 0;//无比较器迟滞

Cmpss3Regs.COMPDACCTL.bit.FREESOFT = 0; 

将程序下载到硬件上,当ADC输入为0时,按理说低比较器输出应该会变为1,然而,通过CCS观察Cmpss3Regs.COMPSTS.bit,发现所有值均为0,即比较器并没有起作用。这是什么原因呢?