28035有3个模拟比较器,每个比较器都含有一个10位DAC模块作为参考源。此外模拟比较器可以与PWM模块联动,从而实现逐波限流的功能,这对于电源控制来说,是非常有用的功能。本文先了解比较器最基本的功能,仅是实现比较输出的功能。
1,如下图所示,比较器1A输入电压与DAC进行比较,比较结果直接输出到IO口,这是比较器的默认状态。比较器预留了输出滤波及输出取反的选项。
2,引脚复用配置,如下图所示,一个输入,一个输出
3,上代码
//使能比较器模块时钟
SysCtrlRegs.PCLKCR3.bit.COMP1ENCLK = 1;
//引脚复用配置
GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 3; // GPIO1 for COMP1OUT
GpioCtrlRegs.AIOMUX1.bit.AIO2 = 3;// AIO2 for COMP1A
//Enable the comparator block
Comp1Regs.COMPCTL.bit.COMPDACEN = 1;
//设置DAC的参考电压(根据自己的需要随意设置,运行过程中也可以设置)
Comp1Regs.DACVAL.all = 512;
//其他设置采用默认值
4,测试
改变AIO2的输入电压,用示波器观看GPIO1的电平变化即可。
当输入电压>VCC/2,AIO2输出高电平,反之,则为低电平。
5,最后,附上我的工程https://download.csdn.net/download/baodewang/12820426