Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Другие темы раздела
ATmega AVR spi передача от slave https://www.cyberforum.ru/avr/thread2086424.html
Пытаюсь передать информацию от slave к mostir по spi. выбираю мастером слейва, у мастера настроено прерывание на приеме, слейвом пытаюсь пихать данные SPDR. Прерывания по приему не происходит( Судя...
RLE на МК ATmega AVR
Здравствуйте! Нужна реализация RLE алгоритма на МК для потока бит, желательно исходники с пояснениями. Может в кого-то есть какие-то наработки по этому вопросу? В идеале, конечно на AT, но можно и...
ATmega AVR проблема с приемом на MRF49XA
Всем привет, решил собрать однокомандное управление с подтверждением на MRF49XA, сейчас пытаюсь мигнуть светодиодом, но возникла проблема. Передача идет, 15(RSSIA) вывод MRF при етом поднимается от...
ATmega AVR Экономичное устройство на AVR Здравствуйте. Пытаюсь начать изучать МК. Есть желание сделать фонарь с управлением на AVR. Хочется, чтобы он включался/отключался одной кнопкой, то есть отдельный выключатель питания ставить не хочу.... https://www.cyberforum.ru/avr/thread2086421.html
ATmega AVR [Решено] Помогите победить варнинги: AvrStudio + WinAVR https://www.cyberforum.ru/avr/thread2086420.html
Коллеги доброго времени суток! Помогите победить варнинги (AvrStudyo + WinAVR). Прям не знаю, что делать уже третьи сутки. Программа в общем-то работает, и они на «скорость полета» не влияют, но все...
Последовательное сравнение ATmega AVR
Народ, помогите с решением такой задачки. У меня есть 10 чисел в диапазоне от 1000 до 6000 (по возрастанию), которые перед операцией я заношу в два РОН. И есть контрольное число, которое тоже...
ATmega AVR как правильно принять DMX сигнал на Attiny?
Здравствуйте, друзья. Возникла необходимость создания светодиодного RGBW диммера/стробоскопа, управляемого по протоколу DMX. Светодиоды управляются с аппаратного ШИМа. В ATTINY2313 их как раз 4...
ATmega AVR AVR Bootloader и RS485 half-duplex Собираю некое примитивное устройство, которое будет спрятано в распаечную коробку в неудобном месте. Для связи с устройством была проложена витая пара, и предполагалось использовать протокол rs485.... https://www.cyberforum.ru/avr/thread2086417.html
ATmega AVR Ambilight на Atmega16 https://www.cyberforum.ru/avr/thread2086416.html
В образовательных целях захотел сделать Ambilight на Atmega16. Реализовал аппаратную часть на Atmega16, FTD232 для передачи данных с компьютера, ULN2003 в роли транзисторного ключа. Сделал наброски...
ATmega AVR биты в PINC вырубают прерывания и регистр SREG? Доброго вам времени суток. 2 день бьюсь с проблемой и только сейчас методом тыка выяснил причину. Камень - Атмега8, начал писать ногодрыжку для управления 2 движками постоянного тока в машинке -... https://www.cyberforum.ru/avr/thread2086415.html
OtixRu
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 7
03.06.2013, 02:10 0

Переключение каналов АЦП atmega88

03.06.2013, 02:10. Просмотров 9179. Ответов 12
Метки (Все метки)

Ответ

Цитата Сообщение от OtyxPM
Цитата Сообщение от S_Otyx
Если по простому, то выполни пустое преобразование, а на втором измерении получишь данные своего канала.
Или читай справку, как и когда выполняестя обновление MUX и срабатывает УВХ.
Поскольку значение ADMUX всё время меняется, то делать пустое преобразование обязательно (см. datasheet: при смене канала или/и REFS - результат первого преобразования ненадёжен).
Заодно этим снимается описанная в теме проблема, как указал S_Otyx.

Суть в том что про пустое преобразование в даташите сказано только для диф канала. Для одиночного запуска первое преобразование при включение АЦП само по себе холостое, дальше про смену каналов толком ничего не сказано, кроме того условия что должно быть сброшено ADIM или ADSC. Тем более что у меня в цикле делается 16 преобразований после смены канала и никакого переключения не наблюдается. Пробовал ставить до цикла пустое преобразование - результат тот же, каналы не переключаются.

Цитата Сообщение от itysiy
2OtixRu Кстати непонятно, если прерывания глобальные запрещаются, как контроллер в итоге просыпается?
Код:
cli();
Temp1 = ADC_Term1();
sei();

Это во время экспериментов поставил и сам удивился не меньше. Явного разрешения глобальных больше нигде нету, но в тоже время, с учетом того, что результат в прерывании сохраняю, он просыпается. Еще не дошел до пошагового, надо будет просмотреть...Как говорится все последовательно. Сейчас интересует именно ситуация с переключением каналов. В другом своем проекте переключал каналы в прерывании, там по логике должно было быть: если работал нулевой, то выбираем первый и наоборот. Все работало. Но там каждый канал делал одно преобразование и переключался и не надо было городить в прерывании тучу условий. А вот переключение в основном коде перед запуском не срабатывает...

Вернуться к обсуждению:
Переключение каналов АЦП atmega88
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2013, 02:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

ATMega88 - 10 PWM
Доброго времени суток, Уважаемые! Имею задачу сделать 10 ШИМ со следующими характеристиками: —...

Bootloader atmega88
Всем привет. Весь день уже бьюсь над этим загрузчиком. Шью вот это:...

Проблема с UART (ATmega88)
Добрый день! Уже долгое время пытаюсь разобраться с работой uart. Наваял программу, по которой мк...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.