Attiny461. Не работает АЦП в Proteus.

Обсуждаем контроллеры компании Atmel.
Ответить
Прорезались зубы
Аватара пользователя
Сообщения: 202
Зарегистрирован: Пн сен 26, 2011 13:48:25
Откуда: Харьков

Сообщение slavokhire5 »

Доброго времени суток :)
Есть две проблемы:
1. не обновляется значение регистров ADCL и ADCH. (да я и вообще не уверен, что АЦП правильно инициализировал)
2. Выключение цифровых выходов, которые использую для измерения АЦП (это обязательно делать?), приводит к тому, что я не могу управлять выходами на соответствующем порте (DIDR0 |= ADC2D | AREFD; приводит к тому, что МК не реагирует на PORTA |= 1; или PORTA |=3;)

Код пишу в WinAVR 20100110, оптимизация выключена. Для симуляции использую Proieus7.10 SP0. Проект и схемка прилагаются.

Помогите начинающему коту пожалуйста :)
Вложения
1.rar
(481.94 КБ) 208 скачиваний
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
Реклама
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Сообщение a_skr »

1. знакогенератор кривой ;)
2. ADMUX |= REFS0; // внешнее опорное напряжение
REFS0 - номер бита, пишем (1<<REFS0) или _BV(REFS0)
и далее везде так
3. откуда 4 МГц?
4. unsigned int r2 = 350; // постоянный резистор
unsigned int u12 = 1023; // опорное напряжение
r1 = r1 + (u12 * r2 - u2 * r2) / u2;
u12 * r2 = 1023 * 350 = 358050 - не влезет в unsigned int
что Вы там считаете, понимать лень, держите простой пример.
Вложения
датчик топлива на машину.zip
(23.32 КБ) 236 скачиваний
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 202
Зарегистрирован: Пн сен 26, 2011 13:48:25
Откуда: Харьков

Сообщение slavokhire5 »

спасибо :) буду дальше ковыряться
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
Ответить

Вернуться в «AVR»