FR8016H的SDK中如何使能ADC及如何读取ADC的数据



  • 目前,正在琢磨如何驱动MQ-135空气质量传感器,选用PD7进行MQ-135的Aout数据的读取,但首先第一步就是通过system_set_port_mux(),对PD7进行功能配置就遇到了问题,在driver_iomux.h中无法找到将PD7映射为ADC3的定义,经过推算,自己定义了一个值,如下:
    #define PORTD7_FUNC_ADC3 0x0A
    也不知道上述值定义的是否正确,
    接下来开始使用system_set_port_mux()函数进行功能映射:
    gpio_set_dir(GPIO_PORT_D, GPIO_BIT_7, GPIO_DIR_IN);
    system_set_port_mux(GPIO_PORT_D, GPIO_BIT_7, PORTD7_FUNC_ADC3);//MQ-135 ADO
    紧接着开始对整个工程进行搜索,无法搜索到ADC的读取函数,怎么办呢,想到了gpio_get_pin_value(),但看了函数说明,此函数返回值仅能为0或者1,不太确定,所以又运行了如下程序试试:
    uint8_t adc_value = 0;
    adc_value = gpio_get_pin_value(GPIO_PORT_D, GPIO_BIT_7);
    co_printf("ADC Value: %d", adc_value);
    结果通过串口发现adc_value 的值一直为0,最终还是无法达到读取PD7管脚的模拟值的目的。
    总感觉目前使用的SDK中没有关于ADC的信息,还请官方给予确认ADC如何使用,如果需要ADC驱动函数,去哪里下载,谢谢了!



  • 最新版本的SDK中加入了driver_adc,可以用来参考使用



  • 好的,谢谢!已下载!正在试!