Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ATMEGA16 Порт А
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
greatbaobab
Помогите! В даташите к ATMEGA16 про порт A говорится:
Цитата
Port A (PA7..PA0) Port A serves as the analog inputs to the A/D Converter.

Port A also serves as an 8-bit bi-directional I/O port, if the A/D Converter is not used.


Значит ли это, что если хотя бы один пин порта А используется как АЦП, мне будут недоступны остальные пины как цифровые GPIO?

Из текста я понял, что так и есть, но как-то сомнительно, что целый порт теряется из-за одного АЦП.
Dima_Ag
Нет, не значит.
Тот, вывод, что хотите использовать для АЦП - просто сконфигурируйте на вход.
Остальные - по Вашему усмотернию.
greatbaobab
Цитата(Dima_Ag @ Aug 5 2011, 17:13) *
Нет, не значит.
Тот, вывод, что хотите использовать для АЦП - просто сконфигурируйте на вход.
Остальные - по Вашему усмотернию.


Значит ли это, что, сконфигурировав пины порта на вход, я смогу на одном и том же пине измерять напряжение с помощью АЦП и принимать этот же сигнал как цифровой?
Палыч
Цитата(greatbaobab @ Aug 5 2011, 18:04) *
Значит ли это, что, сконфигурировав пины порта на вход, я смогу на одном и том же пине измерять напряжение с помощью АЦП и принимать этот же сигнал как цифровой?
Да, можно принимать... Более того, Вы можете даже поставить пин "на выход" (на АЦП это никак не повлияет, если, конечно, не превысите на пине Vref), и контролировать с помощью АЦП выходной сигнал (если это нужно rolleyes.gif ).
DpInRock
Цитата
Тот, вывод, что хотите использовать для АЦП - просто сконфигурируйте на вход.

Нет, этого недостаточно совершенно.
Существует еще регистр DIDR - Digital Input Disable register. В нем надо указать какие пины НЕ ЦИФРОВЫЕ, т.е - аналоговые.
Палыч
Цитата(DpInRock @ Aug 5 2011, 19:50) *
Существует еще регистр DIDR - Digital Input Disable register.
Это Вы - погорячились. В ATmega16 такого регистра - нет!
DpInRock
Понятия не имею, есть или нет. Но должен быть.
Палыч
Цитата(DpInRock @ Aug 5 2011, 22:21) *
Понятия не имею, есть или нет. Но должен быть.
Этот регистр "должен быть" в mega48/88/168, tiny25/45/85... Может, в ещё каких-то из новых МК от Atmel... В старом добром mega16 цифровые цепи не отключаются, поэтому и регистра DIDR у него нет.
Впрочем, отключение цифровых цепей осуществляется для уменьшения Icc при напряжении аналогового сигнала близком к Vcc/2. Если ток потребления - "по-барабану", то можно теоритически цифровые цепи не отключать (впрочем, я бы такое не практиковал).
Xenia
Цитата(Палыч @ Aug 5 2011, 23:23) *
Этот регистр "должен быть" в mega48/88/168, tiny25/45/85... Может, в ещё каких-то из новых МК от Atmel... В старом добром mega16 цифровые цепи не отключаются, поэтому и регистра DIDR у него нет.

ATmega16A - совсем новый, но DIDR у него тоже нет. Впрочем, не сильно уж тот регистр нужен sm.gif.
_Pasha
Цитата(Xenia @ Aug 5 2011, 22:33) *
Впрочем, не сильно уж тот регистр нужен sm.gif.

Та не, нужен оказался, все-таки. Когда от того же порта с ног идет по 20ма в нагрузку, например.
Xenia
Цитата(_Pasha @ Aug 6 2011, 09:35) *
Та не, нужен оказался, все-таки. Когда от того же порта с ног идет по 20ма в нагрузку, например.

Если порт работает на токовую нагрузку, то очевидно, что он конфигурирован на выход (Output). Ну и какой будет прок, если при этом Digital Input Disable включить? На мой взгляд никак повлиять на этот режим DIDR регистр не может, т.к. польза от него исключительно тогда, когда порт работает на вход.
нечитатель
Для разнообразия напомнил бы про pull-up.
Когда нога сконфигурирована как цифровой вход или как аналоговый - то не означает, что уже произведены какие-то (хотя бы даже и подразумеваемые очевидными) манипуляции с этим самым pull-up.

Подробнее в разделе "I/O Ports".

... уточнил по схеме: так и да, порт А. Так и да, экспериментально в натуре и железке (с АДЦ0, чтобы конкретность). Не особо даже вчитываясь в мутно-официальными буквами по экрану чётко документированное на тему overriding там же.

---

Казалось бы: взрослые люди, опытные пользователи, культура вся фигня, да кто ты такой мне указывать...
Палыч
Цитата(нечитатель @ Aug 6 2011, 17:40) *
... нога сконфигурирована как цифровой вход или как аналоговый...
Хочу немного уточнить. Даже в МК, у которых присутствует регистр DIDR, ноги МК не конфигурируются как цифровые или как аналоговые. Ноги МК всегда подключены к коммутатору АЦП. Подключение ноги к комутатору АЦП не зависит от: 1) настроена ли цифровая часть как вход или как выход 2) пожключен ли pull-up 3) отключен ли цифровой входной буфер. Всегда имеется возможность измерить с помощью АЦП напряжение на ноге МК, и неважно какой на ней сигнал - цифровай или аналоговый, внешний или выработан самим МК.
_Pasha
Цитата(Xenia @ Aug 6 2011, 11:31) *
На мой взгляд никак повлиять на этот режим DIDR регистр не может, т.к. польза от него исключительно тогда, когда порт работает на вход.

Я рассматриваю эти регистры как "фича==пофиксенная бага". sm.gif Т.е. влияет или нет - зависит от кристалла и его разводки питания. И имел случай убедиться на меге 48 в дипе, года 2 назад.
нечитатель
Цитата(Палыч @ Aug 6 2011, 19:31) *
немного уточнить
Уточняемый-то месседж был не про "подключено ли к АЦП к ноге или не подключено", а про "не забыть о подтяжке". Комментировать каменты о чём-то своём каментами о чём-то теперь уже своём решать задачу. Причём ту, которую планировалось решать, а не ту, которой её интереснее было бы подменить.

... круглые лошади, контент ради контента. А я против лошадей ничего и не имею, когда показавшееся важным уже обозначено.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.