Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
28.04.2011, 22:58
|
|
Частый гость
Регистрация: 14.03.2011
Сообщений: 13
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
avr ацп фьюзы
Здравствуйте.
Написал программу для обработки сигналов пришедших на ацп atmega48.
поскольку во фьюз-биты разбираюсь плохо, при прошивки я их не трогал.
в итоге при поступлении сигнала на ацп с PB6 сигнала не идет (см. код).
В чем проблема? в коде или в битах?
код во вложенном файле.
заранее спасибо.
|
|
|
|
28.04.2011, 23:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
|
Re: avr ацп фьюзы
я- тупой, в упор не вижу B6 и АЦП на 48-й (не лез в глубину но B6- непонятно , буду Рад - , если просветите)
if (u›0) {PORTB.6=0;}
PORTB.6=0;
т.е . грубо if не нужен, в нуль всё равно
Последний раз редактировалось OlegNZH; 28.04.2011 в 23:14.
|
|
|
|
28.04.2011, 23:33
|
|
Частый гость
Регистрация: 14.03.2011
Сообщений: 13
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: avr ацп фьюзы
моя невнимательность. порту Б6 присваиваю 0 в начале основной подпрограммы.
спасибо, исправил.
но тем не менее что скажите, нужно ли конфигурировать фьюз-биты для работы АЦП, в данном случае?
|
|
|
|
28.04.2011, 23:42
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
Re: avr ацп фьюзы
Если уж вы смотрите на ADIF флаг, то надо бы его чистить. Автоматом он чистится только при обработке соотв. прерывания. Иначе - надо потом записать туда 1.
А вообще можно на от же ADSC смотреть.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
29.04.2011, 14:20
|
|
Прописка
Регистрация: 25.08.2007
Сообщений: 193
Сказал спасибо: 11
Сказали Спасибо 57 раз(а) в 33 сообщении(ях)
|
Re: avr ацп фьюзы
Сообщение от serzhio
|
В чем проблема? в коде или в битах?
|
не вдаваясь в остальные подробности
Код:
|
DDRB.6=1; //Конфигурирование порта B |
пин устанавливают как вход для работы АЦП.
|
|
|
|
29.04.2011, 20:16
|
|
Частый гость
Регистрация: 14.03.2011
Сообщений: 13
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: avr ацп фьюзы
oleg_harp, Вы хотите сказать, что пин PB6 надо на вход настраивать?
у AtMega48 пины АЦП относятся к портам PC.
|
|
|
|
29.04.2011, 20:39
|
|
Прописка
Регистрация: 11.12.2009
Адрес: Украина, Одесса
Сообщений: 217
Сказал спасибо: 89
Сказали Спасибо 76 раз(а) в 42 сообщении(ях)
|
Re: avr ацп фьюзы
ADCSRA=0xA3; нужно заменить на 0x83
а то у Вас запущено непрерывное преобразование
while (ADIF==0x00); я бы написал while ((ADCSRA & 0x10) != 0);
а то ADIF вроде бит, а сравниваем с байтом...
и
if (u›0) {PORTB.6=0;}
я бы заменил на
if (u›10) {PORTB.6=0;}
else PORTB.6=1;
u›10 чтобы исключить влияние помех
АЦП всеравно будет скакать на 1...2 единицы
|
|
|
Сказали "Спасибо" x-files72
|
|
|
29.04.2011, 21:18
|
|
Частый гость
Регистрация: 14.03.2011
Сообщений: 13
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: avr ацп фьюзы
x-files72, спасибо большое, буду разбираться =)
|
|
|
|
29.04.2011, 21:56
|
|
Прописка
Регистрация: 25.08.2007
Сообщений: 193
Сказал спасибо: 11
Сказали Спасибо 57 раз(а) в 33 сообщении(ях)
|
Re: avr ацп фьюзы
Сообщение от serzhio
|
oleg_harp, Вы хотите сказать, что пин PB6 надо на вход настраивать?
у AtMega48 пины АЦП относятся к портам PC.
|
Ох, извините, невнимательно посмотрел Ваше сообщение.
Прошу считать моё сообщение ошибкой.
|
|
|
|
03.05.2011, 15:42
|
|
Частый гость
Регистрация: 14.03.2011
Сообщений: 13
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: avr ацп фьюзы
Прошил микроконтроллер. Мерию тесетром напряжение на порту PC3, напряжение отсутствует. в чем может быть проблема?
зашитый код прилагаю.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:48.
|
|