Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум разработчиков электроники ELECTRONIX.ru _ ARM _ Вычисление Vref в ADC

Автор: Jenya7 Sep 13 2018, 10:33

Вычисляю

Код
/* Calibration procedure */  
ADC_VoltageRegulatorCmd(ADC2, ENABLE);
    
Delay_us(20);
    
ADC_SelectCalibrationMode(ADC2, ADC_CalibrationMode_Single);
ADC_StartCalibration(ADC2);
  
while(ADC_GetCalibrationStatus(ADC2) != RESET );
vref_cal = ADC_GetCalibrationValue(ADC2);  //79

ADC_RegularChannelConfig(ADC2, ADC_Channel_Vrefint, 1, ADC_SampleTime_7Cycles5);
    
/* Enable ADC21 */
ADC_Cmd(ADC2, ENABLE);

vref_data = ADC_Read(ADC2, ADC_Channel_Vrefint, 1);  //1208

                     //79        //1208    
vref = (3300 * vref_cal) / vref_data;  // = 215 ???

if (vref > 2850 && vref < 3500)
    return ADC_INIT_OK;
else
{
   vref = 3300;
   return ADC_INIT_ERROR;
}
получаю vref = 215.

где прокол?

Автор: Forger Sep 13 2018, 10:41

Дежавю: http://electronix.ru/redirect.php?https://electronix.ru/forum/lofiversion/index.php/t142911.html

Автор: Jenya7 Sep 13 2018, 12:37

Цитата(Forger @ Sep 13 2018, 15:41) *
Дежавю: http://electronix.ru/redirect.php?https://electronix.ru/forum/lofiversion/index.php/t142911.html


ой точно. забыл. грешным делом подумал что сам написал. все равно не работает. помню работало, я проверил и оставил до лучших времен, а теперь что то сломалось.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)