CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!

ADC Battery

ADC Battery示例实现了ADC对电池电压的测量。

ADC Battery示例的源代码和工程文件位于SDK_Folder\projects\peripheral\adc\battery,其中工程文件在文件夹Keil_5下。

代码理解

示例工程流程图如图 4所示:

图 4 ADC Battery示例工程流程图
  1. 配置ADC模块。
    g_adc_handle.init.channel_p = ADC_INPUT_SRC_BAT;
    g_adc_handle.init.channel_n = ADC_INPUT_SRC_BAT;
    g_adc_handle.init.input_mode = ADC_INPUT_SINGLE;
    g_adc_handle.init.ref_source = ADC_REF_SRC_BUF_INT;
    g_adc_handle.init.ref_value = ADC_REF_VALUE_0P8;
    g_adc_handle.init.clock = ADC_CLK_1P6M;
    

    ADC配置参数细节请参考ADC。此示例中init.channel_p、init.channel_n选择ADC_INPUT_SRC_BAT。init.ref_value选择ADC_REF_VALUE_0P8即0.85 V。

    说明:

    可检测的VBAT范围在2.0 V ~ 3.8 V,当选择ADC的channel通道为BAT,测量的信号来自内部的分压电路(确保输入在0 ~ 1.6 V),所以参考电压应选择0.85 V,以提升测量精度。

  2. 调用hal_gr551x_vbat_init()接口初始化ADC BATTERY模块。
  3. 调用hal_gr551x_vbat_read()接口读取电池电压。接口返回值即为电池当前电压,单位伏(V)。

测试验证

  1. 用GProgrammer下载battery.bin至开发板。
  2. 将开发板串口连接至PC端,打开并配置GRUart。
  3. 在GRUart的Receive Data窗口中将会显示转化后的电池电压值。

扫描关注

打开微信,使用“扫一扫”即可关注。