CMT2380F32模块开发19-LVD例程

Posted andylauren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMT2380F32模块开发19-LVD例程相关的知识,希望对你有一定的参考价值。

LVD 可用于监测 VCC 及芯片引脚的电压。当被监测电压与 LVD 阈值的比较结果满足触发条件时,LVD 会产生中断或复位信号,用户可根据该信号执行一些紧急任务。

LVD 具有以下特性:
4 路监测源,VCC、P03、P23、P25;
16 阶阈值电压,灵活多用;
8 种触发条件,高电平、上升沿、下降沿组合;
2 种触发结果,复位、中断;
8 阶滤波配置,防止误触发;
具备迟滞功能,强力抗干扰。

LVD和vc功能基本一致,都是电压比较器,区别是vc输入源比较多,LVD可以检测vcc和几个gpio。

LVD 框图

根据框图可以很容易的看出输入源的区别。
例程只讲一个下降沿的吧,其他的基本都是一致的。 

lvd_detect_falling_irq例程

P15作为LVD输出,P23作为LVD输入,LVD基准选择1.8V,将P23链接一个电位器,然后调整电位器,观察P15链接的LED灯。

    Gpio_SetFunc_LVDOUT_P15();  //配置LVD输出口
                                // Gpio_SetFunc_LVDOUT_P15();

    //配置LVD输出口为模拟端口
    Gpio_SetAnalog(1, 5, TRUE);

    stcLvdCfg.bLvdReset = FALSE;        //配置中断或者RESET功能
    stcLvdCfg.enInput = LvdInputP23;    //配置LVD输入口
    stcLvdCfg.enThreshold = LvdTH1p8V;  //配置LVD基准电压
    stcLvdCfg.bFilter = TRUE;
    stcLvdCfg.enFilterTime = LvdFilter29ms;
    stcLvdCfg.enIrqType = LvdIrqFall;
    stcLvdCfg.pfnIrqCbk = LvdIrqCallback;

    Lvd_Init(&stcLvdCfg);
    Lvd_EnableIrq(stcLvdCfg.enIrqType);
    delay100us(1);
    Lvd_Enable();  // LVD使能

以上是关于CMT2380F32模块开发19-LVD例程的主要内容,如果未能解决你的问题,请参考以下文章

CMT2380F32模块开发19-LVD例程

CMT2380F32模块开发17-ADC例程

CMT2380F32模块开发17-ADC例程

CMT2380F32模块开发17-ADC例程

CMT2380F32模块开发18-模拟电压比较器例程

CMT2380F32模块开发18-模拟电压比较器例程