Ошибка схемотехники???, кнопки и МК 2313, ошибка чайника.

Обсуждаем контроллеры компании Atmel.
Ответить
Встал на лапы
Аватара пользователя
Сообщения: 99
Зарегистрирован: Вт мар 20, 2012 20:50:22
Откуда: Краснодар

Сообщение siamds »

Я то все понял. А вот Вы поняли, что Вы написали? На всякий случай высылаю таблицу конфигурации портов.
Таблица.jpg
(41.58 КБ) 378 скачиваний
может быть вопросы по этой теме отпадут сами собой.
На каждого Моцарта есть свой Сальери.
Реклама
c2n
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1193
Зарегистрирован: Ср июл 25, 2012 21:40:09
Откуда: Самара

Сообщение c2n »

При разработке схемы я пользовался принципом - "1" = есть сигнал, "0" = нет сигнала.
Действительно, спасибо ploop'у - за дельные замечания :)
Дабы не разводить холивары, предлагаю данную тему закрыть в архив.

PS при обсуждении "ошибки" - у меня встал вопрос, как правильно считать эти самые подтягивающие.. но да и бог с расчетами :) 10К. - типовое включение - достаточно для моих поделок :)
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

siamds
И что? Вы мне хотите рассказать, как порты конфигурировать?
Схема подключения кнопок к МК должна соответствовать рисунку.
Не должна. Просто так удобнее, поэтому так и делают. Это AVR позволяет подтягивать только к VCC, есть куча других МК, где подтяжки конфигурируются в любую сторону.
Вы схему автора смотрели? вот эту
Порт надо сконфигурировать на вход без подтяжки, и анализировать появление единицы.
При разработке схемы я пользовался принципом - "1" = есть сигнал, "0" = нет сигнала.
Да можно и так, нет проблем.
c2n
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1193
Зарегистрирован: Ср июл 25, 2012 21:40:09
Откуда: Самара

Сообщение c2n »

ploop писал(а): Порт надо сконфигурировать на вход без подтяжки

Так так так.. погорячился с закрытием темы :)

вроде при работе в АВР-Студии - нет опций и/или команд на "С" про конфигурирование порта...
Покрайней мере у аттини2313. или ткните носом в даташит!!! :facepalm:
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Нужные PORTx и DDRx в ноль, и всё.
Реклама
c2n
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1193
Зарегистрирован: Ср июл 25, 2012 21:40:09
Откуда: Самара

Сообщение c2n »

значит, при
DDRx = 0 //Порт объявлен как вход
PORTx = 1 // Выдаю "1" на ногу

При этой конструкции у меня будет включен подтягивающий, который в МК ???
Или при проектировании подтягивать через внешние резисторы????
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Да, в этом случае у вас будет включен резистор между VCC и ногой внутри контроллера. Но вам нужно между GND и ногой, но внутри так сделать нельзя, так что ставите эти резисторы снаружи, а внутри подтяжки отключаете. То есть в программе у вас будет DDRx=0 и PORTx=0
c2n
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1193
Зарегистрирован: Ср июл 25, 2012 21:40:09
Откуда: Самара

Сообщение c2n »

Немного поэксперементировав, пришел к выводу - пофигу, что кормить МК в качестве управляющего сигнала.
Если кормим "0", то вход должен быть подтянут к "1"(классичекий обвяз кнопки ресет)
ну а если кормим "1", то входа обязательно подтянуть к земле 10К резисторами. ну а в програмном коде ловить уже то, что надо.
Контактная информация:
Ответить

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