Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вычисление Vref в ADC
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Jenya7
Вычисляю
Код
/* 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
Дежавю: https://electronix.ru/forum/lofiversion/ind...hp/t142911.html
Jenya7
Цитата(Forger @ Sep 13 2018, 15:41) *


ой точно. забыл. грешным делом подумал что сам написал. все равно не работает. помню работало, я проверил и оставил до лучших времен, а теперь что то сломалось.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.