ADC reading error
I am using stm32f334r8 for digital power control. I have configured ADC using cube mx Lower level. ADC reads 0 for 40mv input even though ADC is configured to 12bit and 181 sampling cycles. I also tried calibrating ADC before conversion is started. The ADC channel is fed by low output impedence opamp. I need your help to solve this issue. Also I am not sure if the calibration is happening or not.
LL_ADC_Disable(ADC1);
LL_ADC_StartCalibration(ADC1,LL_ADC_SINGLE_ENDED);
LL_ADC_DELAY_CALIB_ENABLE_ADC_CYCLES;
LL_ADC_Enable(ADC1);
LL_ADC_DELAY_VREFINT_STAB_US;
if(LL_ADC_IsActiveFlag_ADRDY(ADC1)==1){
//LL_ADC_EnableIT_EOSMP(ADC1);
LL_ADC_EnableIT_EOS(ADC1);
LL_HRTIM_EnableOutput(HRTIM1,LL_HRTIM_OUTPUT_TA1);
LL_HRTIM_TIM_CounterEnable(HRTIM1,LL_HRTIM_TIMER_A);
// LL_HRTIM_EnableIT_CMP2(HRTIM1, LL_HRTIM_TIMER_A);
LL_DMA_DisableChannel(DMA1,LL_DMA_CHANNEL_1);
LL_ADC_REG_SetDMATransfer(ADC1,LL_ADC_REG_DMA_TRANSFER_UNLIMITED);
LL_DMA_SetMemoryAddress(DMA1, LL_DMA_CHANNEL_1,(uint32_t)(&adc));
LL_DMA_SetPeriphAddress(DMA1,LL_DMA_CHANNEL_1 ,(uint32_t)(&(ADC1->DR)));
LL_DMA_SetDataLength(DMA1, LL_DMA_CHANNEL_1,2);
LL_DMA_EnableChannel(DMA1, LL_DMA_CHANNEL_1);
LL_ADC_REG_StartConversion(ADC1);
}
