Свежие обсуждения
Микроконтроллеры

AVR начинающим - вопросы и ответы

1 6 68

Не совсем правильный рисунок.

 

Borik: Объясните - как управлять выводом AVR ?
С помощью регистра DDRB.
chav1961: рисунок правильный, только у него внизу есть сайт, с которого он взят. Я бы Вам посоветовал никогда и ни в какой форме этот сайт здесь не поминать
Не совсем правильный. Привожу уточненный рисунок. Копирайт -даташит любого МК.
Кроме того если в программе используется периферия ( АЦП,UART, таймеры и т. д.) состояние вывода может определяться другими настройками, а не только регистром DDRB.

 

smg123: Borik: Объясните - как управлять выводом AVR ?
С помощью регистра DDRB.

А PORTx ?

smg123: Привожу уточненный рисунок. Копирайт -даташит любого МК.

Вы диод заменили третим положением переключателя ? Понятно. ИМХО не очень ствкуется с двоичностью логики МК. Но зря вы написали "любой МК AVR" - на странице 2 того о чем тут не говорят я прочитал что в некоторыз AVR запись "1" в PIN изменяет уровень на ножке и бит в PORT - и там даже списочек МК приведен у которых это так. Ваш рисунок этого не показывает. Т.е. в оригинале похоже правильно был указан конкретный МК для которого сделана УСЛОВНАЯ схема.

 

Borik: А PORTx ?
А подумать немножко?
Borik: ИМХО не очень ствкуется с двоичностью логики МК.
В устройствах с двоичной логикой есть высокоимпедансное, так называемое третье состояние, когда вывод никуда не подключен.
Borik: в оригинале похоже правильно был указан конкретный МК для которого сделана УСЛОВНАЯ схема.
Судьей здесь может быть только "ДАТАШИТ". Читайте его всегда.

 

smg123: Borik: А PORTx ?
А подумать немножко?

Я думал. Думаю управляет.

 

Регистр DDRBx переключает вывод МК со входа на выход. Когда он в 0 - вход. При этом можно ко входу с помощью записи 1 в регистр PORTx подключить внутреннюю подтяжку к + питания. Когда он в 1 вывод МК работает как выход порта. Значение на ножке определяется значением, записанным в регистр PORTx.
Если же к выводу подключена периферия (например таймер, UART...), направление вывода и значение на конкретной ножке МК может определяться ее настройками, независимо от значений в вышеуказанных регистрах. Более предметно все указано в даташите на конкретный МК, правда в разных местах.
Рекомендую почитать 1-ю часть http://www.pro-radio.ru/controllers/4743-2/2007/10/13/17-29-46/

 

smg123, спасибо !

 

Вот сделал БП с управлением на МК, настройка устройства была уже наполовину сделана, и взял только что случайно поставил фузы 1001, вроде бы от 32768? Подпаял его к 25 и 26 выводам атмеги 16 и ничего, тишина, программатор не видит
Как вылечить?

 

Смелое решение Нужно подать на XTAL1 какую-нибудь частоту с уровнями TTL (лучше всего 1 мГц), и перепрограммировать биты-предохранители. Другого способа привести девайс в чувство нет. Не знаю насчет ПИКов, а у АВРок у всех такая беда - перепрошивка источника тактовой частоты влияет не только на режим работы, но и на режим программирования. Поаккуратней в другой раз

 

Спасибо придется собрать генераторик для таких случаев.
И еще одна просьба не могли бы вы выложить рисунок как правильно подключать AREF И AVCC при внутреннем опорном 2.56 и конденсаторе?