硬件环境: AC781X demo板
软件环境: keil 5.23
当我们采用电池供电的时候,会遇到电池电量逐渐衰减而导致电压降低,这个时候可以使用AC7811的可编程电压检测功能,当检测到电压低于一定值的时候中断提示,以便客户可以在芯片断电前做一些措施。
代码实现也不复杂,这里设置的是2.65V低压检测,以及2.7V可编程电压检测,当采用电池供电,芯片供电电压低于2.7V时,就会产生PVD_Handler。例程通过LED观察现象。
- int main(void)
- {
- InitDelay();
- InitDebug();
-
- SPM_SetLVDTriggerLevel(0); ///<2.65V
- SPM_SetPVDTriggerLevel(0); ///<2.7V
- SPM_EnablePVD(1);
- SPM_EnableLVD(1);
- WriteBitsValue(0x40008000, 0, 1, 0x01); /* enable spm power */
- SPM_EnableModuleWakeup(SPM_MODULE_PVD, ENABLE);
-
- GPIO_SetDir(GPIO_PB9, 1);
- GPIO_SetDir(GPIO_PB10, 1);
- LED2 = 0;
- LED3 = 1;
- NVIC_ClearPendingIRQ(PVD_IRQn);
- NVIC_EnableIRQ(PVD_IRQn);
-
- while(1)
- {
-
- }
- }
-
- void PVD_Handler(void)
- {
- // printf("a PVD interrupt happened\r\n");
- LED2 = 1;
- LED3 = 0;
- }
参考例程:
LVD_sample.rar
(557.32 KB, 下载次数: 8)
|