目录
  • 一、准备工作
  • 二、编译代码
  • 三、测试

4.ADC采样测试

该教程演示如何通过开发板的GPIO实现ADC采样

一、准备工作

  • 准备1块BearPi-Pico H3863开发板

二、编译代码

在Windows下编译操作
  1. 点击工具栏中的“系统配置”,打开配置界面.

    Alt text

  2. 选择Support ADC Sample.

    Application  --->
        [*] Enable Sample.
        [*]     Enable the Sample of peripheral.
        [ ]         Enable all the sample of peripheral, it's just for build.
        [*]         Support ADC Sample.
                        ADC Sample Configuration  ----
    
  3. 按下"Save"键保存配置。

    Alt text

  4. 在代码中设置采样通道。

    目前仅GPIO7、8、9、10、11、12支持ADC,分别对应通道0~5,此处以通道0为例,对应GPIO7

    Alt text

  5. 关键代码,位于application\samples\peripheral\adc\adc_demo.c

    static void *adc_task(const char *arg)
    {
        UNUSED(arg);
        osal_printk("start adc sample test");
        adc_scan_config_t config = {.type = 0, .freq = 1};
        uapi_adc_init(ADC_CLOCK_500KHZ);                    //初始化ADC
        uapi_adc_power_en(AFE_SCAN_MODE_MAX_NUM, true);     //使能ADC
        
        while (1)
        {
            uapi_adc_auto_scan_ch_enable(ADC_CHANNEL_0, config, test_adc_callback); //使能ADC通道中断
            uapi_adc_auto_scan_ch_disable(ADC_CHANNEL_0);                           //去使能ADC通道中断
            osal_msleep(2000);
        }
        
        return NULL;
    }
    
  6. 编译烧录固件

    参考环境搭建教程编译烧录代码

三、测试

烧录固件后按下开发的复位按键,用杜邦线将GPIO02与GND或者V3.3脚短接,观察电压变化

channel: 0, voltage: 1mv
channel: 0, voltage: 1mv
channel: 0, voltage: 1mv
channel: 0, voltage: 3300mv
channel: 0, voltage: 3300mmv
channel: 0, voltage: 3300mmv