реклама на сайте
подробности

 
 
> Вопросы новичка.Часть 2., нид хелп =)
nunzio
сообщение Jul 31 2005, 09:13
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 7-04-05
Пользователь №: 3 944



Добрый день.
Продолжаю изучать AVR smile.gif .
Вопросы:
1) Почему различные флаги сбрасываются записью в них единицы? Ведь если во флаге была единица,то почему записав в него единицу я его сброшу (во флаге будет 0).
2) Зачем нужны подтягивающие резисторы ? Почему вывод если между ним и шиной питания подключен подтягивающийся резистор - является источником тока - ведь сопротивление этого резистора довольно небольшое (120 ком) ?
3)Пусть(допустим) линия PB3 порта PORTB сконфигурирована как выход (DDRB3 = 1).Пусть PORTB3 = 1.
Почему тогда если я подам на PB3 0, PINB3 будет равен 0 ? Ведь напряжени логической 1 должно сложиться с напряжением логического 0 и результатом будет (примерно) напряжение логической 1 ?
Или я что-то напутал ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
nunzio
сообщение Jul 31 2005, 15:53
Сообщение #2





Группа: Новичок
Сообщений: 9
Регистрация: 7-04-05
Пользователь №: 3 944



To Alexs : По авр я чайник (пока).Поэтому и вынужден аргументировать свою позицию цитатами из книг.Схемотехнику портов с прерываниями пока не нашел, но думаю скоро найду.
Я всего лишь попросил обосновать ваше высказывание(ответы типа иди посмотри на схему мне не подойдут - т.к. я только начинаю изучать микроконтроллеры) и по возможности ответить на мои вопросы - но кроме глупого и неуместного сарказма я от вас большего не добился.
Go to the top of the page
 
+Quote Post
alexs
сообщение Jul 31 2005, 16:37
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 97
Регистрация: 7-06-05
Пользователь №: 5 811



Цитата(nunzio @ Jul 31 2005, 20:53)
To Alexs : По авр я чайник (пока).Поэтому и вынужден аргументировать свою позицию цитатами из книг.Схемотехнику портов с прерываниями пока не нашел, но думаю скоро найду.
Я всего лишь попросил обосновать ваше высказывание(ответы типа иди посмотри на схему мне не подойдут - т.к. я только начинаю изучать микроконтроллеры) и по возможности ответить на мои вопросы - но кроме глупого и неуместного сарказма я от вас большего не добился.
*

Если с флагами вопросы мы утрясли, попробуем разобраться с портами. Правда без схемы не очень удобно, но все же. В книгах которые у вас есть эти схемы наверняка приведены, но лучше пользоваться оригинальными даташитами. Частенько в отечественной литературе встречаются опечатки.

Все дело в том, что при операции типа PORTB3 = 1, 1 записывается в защелку порта, которая отделена от PINB3(физического вывода микроконтроллера) тристабильным буфером и её состояние может не соответствовать реальному потенциалу на выводе PINB. Простой пример: управление NPN транзистором в ключевом режиме. В PORTB3 = 1, а на PINB3 Uнасбэ=1.1В. При попытке прочитать PINB3 прочитается 0.
Что касается внешних прерываний, то авторы ведь нигде не рекомендуют включать вывод в режим выхода, записывать в него 1, а потом силой притягивать его к 0. Они говорят лишь, что это возможно. Но если вдруг такая ситуация возникает, то вероятно выходной буфер выхода переходит в режим ограничения ток. Он не сгорает, но возрастает потребление вцелом, что не всегда преветствуется.

Цитата из книги А.В.Евстифеева
"Микроконтролеры АВР семейств ТИНИ и МЕГА фирмы АТМЕЛ"
"Следует отметить , что все внешние прерывания генерируются даже в том случае ,если соответствующие выводы сконфигурированы как выходы.Эта особенность мк позволяет генерировать прерывания програмно."
Об этом можно сказать, что если Вам понадобилось создать програмное прерывание аналогичное внешнему, то этого можно добиться указанным способом, но только вывод при этом можно ведь никуда не подключать.

А сарказма и в помине нет. Все мы чайники, просто разных калибров.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th August 2025 - 14:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01344 секунд с 7
ELECTRONIX ©2004-2016