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

 

 

 

版权声明:本文为匿名原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: