ATmega16: порты
- Piroman17
- Грызет канифоль
- Сообщения: 296
- Зарегистрирован: Пт янв 12, 2007 17:16:35
- Откуда: Дубна
- Контактная информация:
ATmega16: порты
Почему когда к ноге ничего не подключенно, PINB.0 - показывает логическую единицу? Может так должно быть
(В чём я сомневаюсь)? И как с этим бороться ...
"Всё новое - хорошо забытое старое" - для творцов без творческий мысли.
Re: ATmega16: порты
Piroman17 писал(а):Почему когда к ноге ничего не подключенно, PINB.0 - показывает логическую единицу? Может так должно быть(В чём я сомневаюсь)? И как с этим бороться ...
Если я правильно понял читается 1, по-моему когда порт настроен на вход и ни чего не подключено, то устанавливается 0 или 1 случайным образом. Или ты напряжение на ножке меряешь?
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
Почему когда к ноге ничего не подключенно, PINB.0 - показывает логическую единицу?
Потому что высокоимпедансное состояние запросто может восприниматься самим контроллером, как лог.1.
устанавливается 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
Aheir писал(а):Хорошо.
В какой логический уровень преобразуется напряжение на ненагруженном выводе микроконтроллера, если этот вывод находится в третьем состоянии?
В соответствии с правилами указаными в даташите и описаными по русски с графиками на странице курса - pid.by.ru/02.htm
Эти правила для ножек МК которые могут быть входами (и кроме 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В читается единица?
"Всё новое - хорошо забытое старое" - для творцов без творческий мысли.