Автор: 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
ой точно. забыл. грешным делом подумал что сам написал. все равно не работает. помню работало, я проверил и оставил до лучших времен, а теперь что то сломалось.