Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Mega 128 АЦП не хочет работать. Помогите советом...
Отправлено
dshabrov
(84.21.231.242)
13 мая 2010, г. 15:24
Инициализирую так:
ADCSRA=(1<<ADEN)|(1 << ADSC);
ADMUX =(1<<MUX0);
Далее с интервалом секунда читаю и запускаю заново:
adc_result=((ADCL)|((ADCH)<<8));// 10-bit conversion for channel 0 (PF0)
ADCSRA = (1 << ADSC); //Однократный запуск АЦП
Так вот, первое преобразование при инициализации происходит и остается в ADCL:ADCH. И не меняется.
Где я неправ?
Составить ответ
|
Вернуться на конференцию
Ответы
Вопрос закрыт. Я долбоеб.
-
dshabrov
(13.05.2010, 16:08:50
84.21.231.242
, 375 байт)
ёмоё, куда смотрим..... ADCSRA = (1 << ADSC) - выключает АЦП
-
argus98
(13.05.2010, 16:08:41
81.22.205.230
,
пустое
)
Секундой назад я это уже понял. Спасибо.
-
dshabrov
(13.05.2010, 16:09:27
84.21.231.242
,
пустое
)
Ответ: Блин, а ведь торопился писал, но всеравно на 9 секунд опоздал..
-
dshabrov
(13.05.2010, 16:10:47
84.21.231.242
,
пустое
)
лучше поздно, чем никогда :)
-
argus98
(13.05.2010, 16:11:54
81.22.205.230
,
пустое
)
Там порядок чтения результата важен L потом H. Уверены что у Вас так? См. листинг.
-
Quasy
(13.05.2010, 15:35:57
192.168.0.207,80.243.9.34
,
пустое
)
Но даже если и неправильно, то читаемое значение должно меняться. У меня оно не меняется с момента инициализации!
-
dshabrov
(13.05.2010, 15:57:32
84.21.231.242
,
пустое
)
Нет. Прочтение ADCL (если оно позже чтения ADCH) заблокирует доступ к регистрам результата со с...{+}
-
Quasy
(13.05.2010, 16:02:24
192.168.0.207,80.243.9.34
, 190 байт)
а) ADMUX =(1<<MUX0) - настраивает на 1-канал, а не на 0 (+):
-
argus98
(13.05.2010, 15:35:17
81.22.205.230
, 151 байт)
Есть 5В. Анализ окончания думаю не нужен. Цикл выполняется с интервалом 1сек. ADPS настраивал по - разному. Не помогает. ADCSRA=(1<<ADEN)|(1 << ADSC)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
-
dshabrov
(13.05.2010, 15:52:59
84.21.231.242
,
пустое
)
ADPS надо настраивать так, чтобы тактовая АЦП была в диапазоне 50 - 1000 кГц (+):
-
argus98
(13.05.2010, 16:05:9
81.22.205.230
, 110 байт)
Ответ: Настроил на 86...
-
dshabrov
(13.05.2010, 16:14:0
84.21.231.242
,
пустое
)
чем не нравица готовое? у мя на 128-м работает - слева modules - Drivers (for AVR peripherals) - A/D Converter Function Library (a2d.c)
-
NAUT
(13.05.2010, 15:31:34
192.168.0.249,85.90.99.170
,
пустое
,
ссылка
)
Спасибо. Будем посмотреть...
-
dshabrov
(13.05.2010, 15:54:39
84.21.231.242
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 3 в два раза:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru