2021-07-03 07:19 AM
Hello, I've been using the STEVAL-IDB008V1M to help develop an BLUENRG-M2 product for an company. I've noticed in the schematic there are 3pF capacitors connected to the ADC Input 1 and Input 2
Does anyone know why this is done?
For the time being I have linked across this. I'm using the ADC polling example code and for some reason I always read 1239mV even with no power source connected.
My ADC Configuration is as follows:
void ADC_Configuration(void)
{
SysCtrl_PeripheralClockCmd(CLOCK_PERIPH_ADC, ENABLE);
/* Configure ADC */
/* Configure TEMPERATURE ADC */
xADC_InitType.ADC_OSR = ADC_OSR_200;
//ADC_Input_BattSensor; //ADC_Input_TempSensor;// ADC_Input_AdcPin1 // ADC_Input_AdcPin12 // ADC_Input_AdcPin2
xADC_InitType.ADC_Input = ADC_Input_AdcPin1;
xADC_InitType.ADC_ConversionMode = ADC_CONVERSION;
xADC_InitType.ADC_ReferenceVoltage = ADC_ReferenceVoltage_0V6;
xADC_InitType.ADC_Attenuation = ADC_Attenuation_9dB54;;
ADC_Init(&xADC_InitType);
/* Enable auto offset correction */
ADC_AutoOffsetUpdate(ENABLE);
ADC_Calibration(ENABLE);
}
My read Function is as follows:
if(ADC_CHECK_FLAG) {
/* Read Temperature converted data */
Temp_raw_value = ADC_GetConvertedData(xADC_InitType.ADC_Input, xADC_InitType.ADC_ReferenceVoltage);
/* Print the ADC value converted */
if(xADC_InitType.ADC_Input == ADC_Input_TempSensor) {
PRINT_INT(Temp_raw_value),PRINT_FLOAT(Temp_raw_value), 248);
}
else {
PRINT_INT(ADC_CompensateOutputValue(Temp_raw_value)*1000.0));
printf("ADC Raw: %d.%02d C\r\n", PRINT_FLOAT(Temp_raw_value));
}
SdkEvalLedToggle(LED1);
/* Application delay before next one shot measurement */
SdkDelayMs(100);
/* Start new conversion */
ADC_ENABLE();
}
Its odd because using "ADC_Input_BattSensor" instead of "ADC_Input_AdcPin1" in the ADC_Configuration function results in a accurate measurement.
I hope someone can help.
2023-07-09 01:14 AM
Old topic, but I've got the same issue. I was wondering why DC measurements don't work. Finally I found C46 and C47, bridged them and since then it's working fine. I'm really wondering what their purpose is. I find it really counterintuitive not to be able to measure DC.