Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Не могу разобраться с ADC noice reduction mode в Mega8

Отправлено mandigit (83.237.249.209) 10 февраля 2010, г. 12:21


Рабочий код:
for(;;) {
tmp16u = 1000;
while(--tmp16u);

ADCSR =
(1 << ADEN) |
(0 << ADSC) |
(0 << ADFR) |
(1 << ADIF) |
(1 << ADIE) | // enable ADC convertion interrupt for ADC noise reduction mode
(1 << ADPS2) | (0 << ADPS1) | (1 << ADPS0); //4MHz/32 = 132KHz
MCUCR =
(1 << SE) | //Sleep enable
(0 << SM2) | (0 << SM1) | (1 << SM0) | //ADC Noise Reduction Mode
(0 << ISC11) | (0 << ISC10) |
(0 << ISC01) | (0 << ISC00);
__sleep();
}


нерабочий код:
tmp16u = 1000;
while(--tmp16u);

for(;;) {
ADCSR =
(1 << ADEN) |
(0 << ADSC) |
(0 << ADFR) |
(1 << ADIF) |
(1 << ADIE) | // enable ADC convertion interrupt for ADC noise reduction mode
(1 << ADPS2) | (0 << ADPS1) | (1 << ADPS0); //4MHz/32 = 132KHz
MCUCR =
(1 << SE) | //Sleep enable
(0 << SM2) | (0 << SM1) | (1 << SM0) | //ADC Noise Reduction Mode
(0 << ISC11) | (0 << ISC10) |
(0 << ISC01) | (0 << ISC00);
__sleep();
}

то есть методом тестов выяснено, что требуется пауза перед входом в режим ADC noice reduction, но в документации не удалось найти упоминание о таких ньюансах. Попытка отслеживать флаг ADIF и ADSC к результату не приводит. Куда еще посмотреть?


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 654:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru