ATmega16: порты
- Piroman17
- Грызет канифоль
- Сообщения: 296
- Зарегистрирован: Пт янв 12, 2007 17:16:35
- Откуда: Дубна
- Контактная информация:
ATmega16: порты
Почему когда к ноге ничего не подключенно, PINB.0 - показывает логическую единицу? Может так должно быть
(В чём я сомневаюсь)? И как с этим бороться ...
"Всё новое - хорошо забытое старое" - для творцов без творческий мысли.
- Реклама
- Piroman17
- Грызет канифоль
- Сообщения: 296
- Зарегистрирован: Пт янв 12, 2007 17:16:35
- Откуда: Дубна
- Контактная информация:
Так у меня как раз:
Код: Выделить всё
PORTB=0x00;
DDRB=0x00;
"Всё новое - хорошо забытое старое" - для творцов без творческий мысли.
- Реклама
Re: ATmega16: порты
Если я правильно понял читается 1, по-моему когда порт настроен на вход и ни чего не подключено, то устанавливается 0 или 1 случайным образом. Или ты напряжение на ножке меряешь?Piroman17 писал(а):Почему когда к ноге ничего не подключенно, PINB.0 - показывает логическую единицу? Может так должно быть(В чём я сомневаюсь)? И как с этим бороться ...
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
Потому что высокоимпедансное состояние запросто может восприниматься самим контроллером, как лог.1.Почему когда к ноге ничего не подключенно, PINB.0 - показывает логическую единицу?
На высокоимпедансном входе не устанавливается произвольное значение, это состояние хорошо тем, что ты сам можешь тянуть ногу как к земле, так и а питаниюустанавливается 0 или 1 случайным образом
Прикрутить резистор на землю и ждать лог.1...как с этим бороться
Оптимизм х (Опыт + Знания) = const
Контроллер не может воспринимать высокоимпедансное состояние или низкоимпедансное. Ему не чем это сделать.Aheir писал(а):высокоимпедансное состояние запросто может восприниматься самим контроллером, как лог.1.
Контроллер воспринимает напряжения на своем выводе не зависимо от его импеданса и преобразует напряжения в лог. уровни "1" или "0" которые заносятся в регистры PINx.
В правой колонкеPiroman17 писал(а):А надо какое?Z-состояние.
ВысокоОмный вход
"таблица состояния ножки МК" - pid.by.ru/02.htm
смотрите что вам надо получить, а в двух колонках левее -
что нужно сделать программе для этого.
"Работа МК - шевелить, дергать ножками." pid.by.ru/03.htm
Удобно и быстро можно настроить ножки с помощью мастера компилятора CVAVR по примеру - pid.by.ru/z3.htm - и затем посмотреть правильный код. Потом разберитесь что означают
строки кода созданого мастером.
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
Естественно, имелось ввиду напряжение на выводе контроллера.Abakt писал(а):Контроллер не может воспринимать высокоимпедансное состояние или низкоимпедансное. Ему не чем это сделать.Aheir писал(а):высокоимпедансное состояние запросто может восприниматься самим контроллером, как лог.1.
Мне кажется, это достаточно очевидно для читающих эту ветку. Каково это напряжение в высокоимпедансном состоянии без нагрузки на этой ноге контроллера? То-то и оно...
Хорошо. В какой логический уровень преобразуется напряжение на ненагруженном выводе микроконтроллера, если этот вывод находится в третьем состоянии?Контроллер воспринимает напряжения на своем выводе не зависимо от его импеданса и преобразует напряжения в лог. уровни "1" или "0" которые заносятся в регистры PINx.
Оптимизм х (Опыт + Знания) = const
В соответствии с правилами указаными в даташите и описаными по русски с графиками на странице курса - pid.by.ru/02.htmAheir писал(а):Хорошо.
В какой логический уровень преобразуется напряжение на ненагруженном выводе микроконтроллера, если этот вывод находится в третьем состоянии?
и далее идет толкование ...Эти правила для ножек МК которые могут быть входами (и кроме XTAL1 и RESET) в МК AVR описаны в разделе ДШ "Electrical Characteristics" и иллюстрированы графиками :
=====
Уж третий раз вроде пишу. Прочитайте и будете понимать.
Ну какой смысл перетаскивать сюда большой кусок текста и графики ?
Хотите - сделайте "копировать - вставить" и картинки прицепите. Как таблицу вставить сюда я не знаю.
Иль в обучалке поищите - http://www.radiokot.ru/start
Аль в даташите - самая точная инфа.
Хотите - сделайте "копировать - вставить" и картинки прицепите. Как таблицу вставить сюда я не знаю.
Иль в обучалке поищите - http://www.radiokot.ru/start
Аль в даташите - самая точная инфа.
Вот человек пишет:
http://www.roboforum.ru/viewtopic.htm?p=24663
Забыл правильно сконфигурировать вывод МК и удивлялся - че так медленно контроллер пашет
http://www.roboforum.ru/viewtopic.htm?p=24663
Забыл правильно сконфигурировать вывод МК и удивлялся - че так медленно контроллер пашет
- Piroman17
- Грызет канифоль
- Сообщения: 296
- Зарегистрирован: Пт янв 12, 2007 17:16:35
- Откуда: Дубна
- Контактная информация:
Помоему меня не так поняли... Ещё раз описываю ситуатцию:
1) Начальный код создан мастером CVAVR
2) Порт B стоит как вход в Z-состоянии.
3) Читаю при помощи PINB.0 логический уровень сигнала
4) получаю единицу, хотя к ноге ничего не присоединенно (=> напряжение на ноге 0)
Вопрос: Почему при напряжении 0В читается единица?
1) Начальный код создан мастером CVAVR
2) Порт B стоит как вход в Z-состоянии.
3) Читаю при помощи PINB.0 логический уровень сигнала
4) получаю единицу, хотя к ноге ничего не присоединенно (=> напряжение на ноге 0)
Вопрос: Почему при напряжении 0В читается единица?
"Всё новое - хорошо забытое старое" - для творцов без творческий мысли.


