Dear Sir
I am trying to work with the ADC .
Attached a code
I get the lines
00> Adc sample 13772
00> Adc sample 13772
00> Adc sample 13772
00> Adc sample 13772
00> Adc sample 13772
00> Adc sample 13772
00> Adc sample 13772
00> Adc sample 13772
The a2d input is wired to NTC , Voltage on NTC is 1.62V , VDD-GPIO = 3.3V
Please Advise
#define ADC_DEVICE_NAME DT_ADC_0_NAME
#define ADC_RESOLUTION 10
#define ADC_GAIN ADC_GAIN_1_6
#define ADC_REFERENCE ADC_REF_INTERNAL
#define ADC_ACQUISITION_TIME ADC_ACQ_TIME(ADC_ACQ_TIME_MICROSECONDS, 10)
#define ADC_1ST_CHANNEL_ID 0
#define ADC_1ST_CHANNEL_INPUT NRF_SAADC_INPUT_AIN0
#define ADC_2ND_CHANNEL_ID 2
#define ADC_2ND_CHANNEL_INPUT NRF_SAADC_INPUT_AIN2
const struct adc_channel_cfg m_1st_channel_cfg = {
.gain = ADC_GAIN,
.reference = ADC_REFERENCE,
.acquisition_time = ADC_ACQUISITION_TIME,
.channel_id = ADC_1ST_CHANNEL_ID,
#if defined(CONFIG_ADC_CONFIGURABLE_INPUTS)
.input_positive = ADC_1ST_CHANNEL_INPUT,
#endif
};
#define BUFFER_SIZE 1
static u16_t m_sample_buffer[BUFFER_SIZE];
int adc_init(void)
{
int err = true;
adc_dev = device_get_binding("ADC_0");
// if (!adc_dev)
if (adc_dev == NULL)
{
printk("efi device_get_binding ADC_0 failed\n");
err = false;
}
else
{
err = adc_channel_setup(adc_dev, &m_1st_channel_cfg);
if (err)
{
printk("Error in adc setup: %d\n", err);
err = false;
}
else
{
printk("adc setup is OK \n" );
err = true;
}
}
return err;
}
int adc_sample(void)
{
int ret;
const struct adc_sequence sequence = {
.channels = BIT(ADC_1ST_CHANNEL_ID),
.buffer = m_sample_buffer,
.buffer_size = sizeof(m_sample_buffer),
.resolution = ADC_RESOLUTION,
};
if (!adc_dev) {
return -1;
}
ret = adc_read(adc_dev, &sequence);
// printk("ADC read err: %d\n", ret);
adc_result = &m_sample_buffer[0];
return ret;
}