【沁恒蓝牙开发】电压监控

文章目录

电压监控 可以独立的监控电压的功能,常用于

①电压过低导致内核等运行不正常

③电压过低导致Flash 擦写异常

等等

电压监控功能介绍

下图节选与CH59x的规格,除了基本的配置外,需要注意的是开启电压监控会增加功耗。

功耗是根据精度决定的,低精度的功耗低,高精度功耗高。

如果特别在意功耗可以分段配置,比如2.5v时使用低精度的,触发后,配置1.8V高精度的。

注:每个系列的功耗不一样,具体参考对应系列的规格书

代码配置

高精度

初始化:

c 复制代码
PowerMonitor(ENABLE,HALevel_2V5); //设置高精度触发
PFIC_EnableIRQ(NMI_IRQn);         //使能NMI中断
PWR_PeriphWakeUpCfg(ENABLE, RB_SLP_GPIO_WAKE|RB_SLP_BAT_WAKE, Long_Delay);

中断:

c 复制代码
__INTERRUPT
__HIGH_CODE
void NMI_Handler(void)
{
  DelayMs(5);
  PRINT("R8_BAT_STATUS=%x. \n",R8_BAT_STATUS);
  while(R8_BAT_STATUS&RB_BAT_STAT_LOWER) //等电压恢复
  {
    PRINT("wait...\n");
  }
  PRINT("recover...\n");
}

中断的效果是不断的在中断内等待电压恢复,因为电压不正常出中断也是没有意义的。

低精度

初始化:

c 复制代码
PowerMonitor(ENABLE,LPLevel_2V5); //使能低精度电压监控
PFIC_EnableIRQ(WDOG_BAT_IRQn);    //低精度使用此中断
PWR_PeriphWakeUpCfg(ENABLE, RB_SLP_GPIO_WAKE|RB_SLP_BAT_WAKE, Long_Delay);

中断:

c 复制代码
__INTERRUPT
__HIGH_CODE
void WDOG_BAT_IRQHandler(void)
{
  DelayMs(5);
  
  PRINT("R8_BAT_STATUS=%x. \n",R8_BAT_STATUS);
  while(R8_BAT_STATUS&RB_BAT_STAT_LOWER) //等电压恢复
  {
    PRINT("wait...\n");
  }
  PRINT("recover...\n");
}

常见问题

打印问题:

如果开启低功耗的时候无法打印,大概率是因为降低功耗配置为IO了,所以要再次初始化串口才可以,代码如下:

c 复制代码
__INTERRUPT
__HIGH_CODE
void NMI_Handler(void)  //或 void WDOG_BAT_IRQHandler(void)
{
  DelayMs(5);
  DebugInit();
  
  PRINT("R8_BAT_STATUS=%x. \n",R8_BAT_STATUS);
  while(R8_BAT_STATUS&RB_BAT_STAT_LOWER) //等电压恢复
  {
    PRINT("wait...\n");
  }
  PRINT("recover...\n");
}

蓝牙工程中配置后未生效

为了低功耗,使用的低功耗函数会默认关闭 电压监控,需要手动注释后才能正常开启电压监控功能,下图是注释后的。

相关推荐
LCG元5 小时前
STM32实战:基于RT-Thread的STM32开发环境搭建与LED任务
stm32·单片机·嵌入式硬件
ye150127774555 小时前
220V转12V1000mA恒流驱动WT5112
单片机·嵌入式硬件·其他·硬件工程
青山_FPGA5 小时前
以太网 MAC-PHY 接口总结
嵌入式硬件·macos
振南的单片机世界5 小时前
函数调用时,返回地址和局部变量都存“栈”里
stm32·单片机·嵌入式硬件
ye150127774556 小时前
220V降12V降24V风扇驱动WT5112
单片机·嵌入式硬件·其他·硬件工程
dqsh066 小时前
STM32和STM32CubeMX实现遥控器控制, 保姆级教程
stm32·单片机·嵌入式硬件·机器人·遥控器
llilian_166 小时前
晶振测量仪 晶振频率测试仪器的多领域应用解析 晶振频率测试仪器
功能测试·单片机·嵌入式硬件·测试工具·51单片机
kaikaile19956 小时前
基于STM32F103的BMS通信控制
stm32·单片机·嵌入式硬件
天天爱吃肉82186 小时前
笔记:同步电机调试时电角度校正方法说明
大数据·人工智能·笔记·功能测试·嵌入式硬件·汽车