[an error occurred while processing this directive]
Попробую. Я тока вход аккумулятора закорачивал, чтоб утечку через диоды отсечь.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено 1111 16 июня 2006 г. 13:12
В ответ на: Тестил вчера LPC2292, подобное не наблюдалось.. Кстати, что у вас происходит пи входе замкнутом на землю ? отправлено Kenat 16 июня 2006 г. 11:59

Здается, что с прогой что-то не то.
У меня к AIN0 основное питание, к AIN1 аккумулятор. И каждые 50 млс фоновая процедура меняет канал и запускает преобразование.


if(power_cntrl.timer == 0)
{
if((power_cntrl.flags & (1 << POWER_CNTRL_FLAG_SAMPLING_COMPLETE)) == 0)
{
switch(power_cntrl.channel)
{
case POWER_CNTRL_CHNL_MAIN_POW:
ADCR &= ~(0xFF << ADCR_SEL_BIT);
ADCR |= (POWER_CNTRL_CHNL_BAT_POW << ADCR_SEL_BIT);
power_cntrl.channel = POWER_CNTRL_CHNL_BAT_POW;
break;

case POWER_CNTRL_CHNL_BAT_POW:
ADCR &= ~(0xFF << ADCR_SEL_BIT);
ADCR |= (POWER_CNTRL_CHNL_MAIN_POW << ADCR_SEL_BIT);
power_cntrl.channel = POWER_CNTRL_CHNL_MAIN_POW;
break;

default:
power_cntrl.channel = POWER_CNTRL_CHNL_MAIN_POW;
break;
}

power_cntrl.timer = POWER_CNTRL_ADC_SAMPLING_TIME;
power_cntrl.flags |= (1 << POWER_CNTRL_FLAG_SAMPLING_COMPLETE);
ADCR &= ~(7 << ADCR_START_BIT);
ADCR |= (1 << ADCR_START_BIT);
}
}

Посмотрел в отладчике на строке
ADCR &= ~(0xFF << ADCR_SEL_BIT);
выставляется бит DONE, но прерывание не происходит чегото. Может так нельзя делать? И иногда выставляется overun ,хотя burst не включен. Чертовщина одним словом.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru