qiang4119 发表于 2020-11-26 14:55:58

NRF52832的SAADC设置12位没反应

ret_code_t errCode;
        nrfx_saadc_config_t adc_config;
        adc_config.resolution         = (nrf_saadc_resolution_t)NRFX_SAADC_CONFIG_RESOLUTION;
    adc_config.oversample         = (nrf_saadc_oversample_t)NRFX_SAADC_CONFIG_OVERSAMPLE;
    adc_config.interrupt_priority = NRFX_SAADC_CONFIG_IRQ_PRIORITY;
    adc_config.low_power_mode   = NRFX_SAADC_CONFIG_LP_MODE ;      

       
        // ADC初始化
        errCode = nrf_drv_saadc_init(&adc_config, adcCallbackFunc);
        APP_ERROR_CHECK(errCode);
        // ADC通道配置
        nrf_saadc_channel_config_t channelConfig = NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN3);        // 单端输入
        // ADC通道初始化
        errCode = nrf_drv_saadc_channel_init(3, &channelConfig);
        APP_ERROR_CHECK(errCode);
        // ADC通道配置
        nrf_saadc_channel_config_t channelConfig1 = NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN2);        // 单端输入
        // ADC通道初始化
        errCode = nrf_drv_saadc_channel_init(2, &channelConfig1);
        APP_ERROR_CHECK(errCode);
       
        // ADC通道配置
        nrf_saadc_channel_config_t channelConfig2 = NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN1);        // 单端输入
        // ADC通道初始化
        errCode = nrf_drv_saadc_channel_init(1, &channelConfig2);
        APP_ERROR_CHECK(errCode);
        // 缓冲配置
        errCode = nrf_drv_saadc_buffer_convert(s_bufferPool, SAMPLES_IN_BUFFER);
        APP_ERROR_CHECK(errCode);这是配置代码,NRFX_SAADC_CONFIG_RESOLUTION 为2,在Wizard中也是配置的12位。
最后获取的数据还是1024的范围,不知道是什么问题

qiang4119 发表于 2020-11-26 15:12:46

本帖最后由 qiang4119 于 2020-11-26 15:14 编辑

是还有哪里需要设置吗?

qiang4119 发表于 2020-11-27 09:18:51

关贴了,建工程的时候,config.h文件关联位置有问题造成的
页: [1]
查看完整版本: NRF52832的SAADC设置12位没反应