How to interpret ADC values from L476RG ADC channel?
Solved:


There is a stupid bug mess up the channel configuration. When I switch the channel, I use ADC_ChannelConfTypeDef sConfig and did not initialize all parameters of sConfig except for the channel number.
We found we have to use 3.3v (by guess) as the ref volt, v=digital_result/4096*3.3v
Also, for the calibration we need to enable Verfint Channel in MX

HAL_ADCEx_Calibration_Start(&amp;hadc1,ADC_SINGLE_ENDED); 
HAL_ADC_Start(&amp;hadc1); 
HAL_ADC_PollForConversion(&amp;hadc1, 100); 
int digital_result = HAL_ADC_GetValue(&amp;hadc1); 
HAL_ADC_Stop(&amp;hadc1)