[an error occurred while processing this directive]
|
Не могу выловить природу траблы. При отсутствии аккумулятора ADC показывает значения от 0 до 0.6В. Причем нет постоянства. Я смотрю мтлинком. Пару выборок 0, потом выборка 0.6В или около того. В общем нет постоянства. На разъеме аккумулятора меряю 0.05В за счет утечек. Кабы более менее постоянное значение мерялось вопросов не было бы. На другие входы ацп вроде выше опоры не подается. Может инициализирую криво? Частота 4.3Мгц.
void Power_Cntrl_Init(void)
{
VICVectAddr5 = (unsigned long)ADC_Handler;
VICVectCntl5 = (1 << VIC_CHNL_ENABLE_BIT) | VIC_AD;
VICIntEnable |= (1 << VIC_AD);PINSEL1 &= ~((3 << PINSEL1_P0_27) | (3 << PINSEL1_P0_28));
PINSEL1 |= (PINSEL_FUNC_01 << PINSEL1_P0_27) | (PINSEL_FUNC_01 << PINSEL1_P0_28);IO3CLR |= (1 << BAT_CHRG_CNTRL) | (1 << BAT_CNTRL);
IO3SET |= (1 << BAT_CNTRL);IO3DIR |= (1 << BAT_CHRG_CNTRL) | (1 << BAT_CNTRL);
ADCR &= ~(0xFF << ADCR_CLKDIV_BIT);
ADCR |= ((unsigned char)ADCLK << ADCR_CLKDIV_BIT);
ADCR |= (1 << ADCR_PDN_BIT);
}
Читаю в прерывании
power_cntrl.main_pow_value = ((ADDR >> 6) & 0x03FF);
E-mail: info@telesys.ru