huangwentao 发表于 2024-9-13 16:25

hc32l110的比较器怎么配置才能实现输入正端和输入负端电压是一致的?

比较器配置代码:void bspCMP_Init(void){    stc_vc_general_config_t stcVcGeneralCfg;    stc_vc_channel_config_t stcVcChannelCfg;     //变量清0    DDL_ZERO_STRUCT(stcVcGeneralCfg);    DDL_ZERO_STRUCT(stcVcChannelCfg);    Clk_SetPeripheralGate(ClkPeripheralVcLvd, TRUE);//开启VC时钟    Clk_SetPeripheralGate(ClkPeripheralAdcBgr, TRUE);//配置ADC时钟    M0P_BGR->CR_f.BGR_EN = 0x1u;//必须使能    delay100us(1);    Gpio_SetAnalog(3, 2, TRUE);    Gpio_SetAnalog(3, 3, TRUE);        genChannel = VcChannel1;//配置VC输入通道     stcVcGeneralCfg.bDivEn = FALSE;//6位DAC不使能    // stcVcGeneralCfg.enDivVref = VcDivVrefAdc;    stcVcGeneralCfg.enDivVref = VcDivVrefAvcc;//VcDivVrefAvcc;//分压的参考电压为VCC    stcVcGeneralCfg.u8DivVal = 0x3F;//分压值为1     stcVcChannelCfg.enVcChannel = genChannel;//VC通道设置-----------------    stcVcChannelCfg.enVcCmpDly = VcDelayoff;//迟滞配置    stcVcChannelCfg.enVcBiasCurrent = VcBias20ua;//功耗选择//    stcVcChannelCfg.enVcFilterTime = VcFilter7us;//输出滤波时间配置    stcVcChannelCfg.enVcInPin_P = VcInPCh2;//P3.2    stcVcChannelCfg.enVcInPin_N = VcInNCh3;//    stcVcChannelCfg.enVcOutConfig = VcOutDisable;//输出配置寄存器    stcVcChannelCfg.enVcIrqSel = VcIrqFall;    stcVcChannelCfg.pfnAnalogCmpCb = VcIrqCallback;     Vc_GeneralInit(&stcVcGeneralCfg);     Vc_ChannelInit(genChannel, &stcVcChannelCfg);        Vc_EnableFilter(genChannel);        Vc_ConfigIrq(stcVcChannelCfg.enVcChannel, stcVcChannelCfg.enVcIrqSel);        Vc_EnableIrq(stcVcChannelCfg.enVcChannel);        Vc_EnableChannel(stcVcChannelCfg.enVcChannel);}
模拟电压比较器经过配置后,正端的电压降到0V,而负端的电压保持与电源一致3.3V,如图。file:///C:/Users/panpan/AppData/Local/Temp/ksohtml8248/wps1.jpg 若是正端的输入电压没有电源电压那么高,比较器不就一直输出低电平吗?

huangwentao 发表于 2024-9-13 16:48

更多更合适ii 发表于 2024-9-30 17:35

模拟电压比较器经过配置后,正端的电压降到0V,而负端的电压保持与电源一致3.3V

hhdhy 发表于 2024-10-28 20:11

在华大HC32L110微控制器中,比较器模块可以用来比较两个输入电压,并根据比较结果产生输出信号。要实现输入正端(VINP)和输入负端(VINN)电压一致,通常需要配置比较器的输入源和参考电压,以确保两个输入端的电压相等

wamed 发表于 2024-10-28 21:16

首先,确保比较器模块的时钟已经使能。配置比较器输入源,比较器的输入源可以通过配置寄存器来选择。你需要确保VINP和VINN的输入源是相同的,或者它们的电压是相等的

yuliangren 发表于 2024-10-28 22:25

比较器的参考电压可以通过配置寄存器来设置。你可以选择内部参考电压(如VREF)或外部参考电压。

gongqijuns 发表于 2024-10-28 23:37

比较器的输出可以通过读取寄存器来获取。如果VINP和VINN的电压一致,比较器的输出应该是稳定的。

pe66ak 发表于 2024-10-29 08:21

输入源选择,确保VINP和VINN的输入源是相同的,或者它们的电压是相等的。

星星点点didi 发表于 2024-10-29 09:13

参考电压,选择合适的参考电压,以确保比较器的精度

canfeil 发表于 2024-10-29 10:00

时钟配置,确保比较器模块的时钟已经使能。

teaccch 发表于 2024-10-29 12:06

正常来说应该外部电路设置应该能实现比较器正端和负端电压一致

suiziq 发表于 2024-10-29 14:09

这么操作的意义是啥呢?

eleg34ance 发表于 2024-10-29 16:00

你配置寄存器呗,一般通过配置寄存器应该可以

丢丢手绢666 发表于 2025-1-31 19:40

huangwentao 发表于 2024-9-13 16:48
比较器的输出会依赖于正负端的输入电压关系。

结合国际经验 发表于 2025-2-27 13:44

若是正端的输入电压没有电源电压那么高

地瓜patch 发表于 2025-2-28 12:12

输入比较,为什么要一直
页: [1]
查看完整版本: hc32l110的比较器怎么配置才能实现输入正端和输入负端电压是一致的?