Страница 1 из 2
ATmega16: порты
Добавлено: Пн фев 26, 2007 19:40:28
Piroman17
Почему когда к ноге ничего не подключенно, PINB.0 - показывает логическую единицу? Может так должно быть

(В чём я сомневаюсь)? И как с этим бороться ...
Добавлено: Пн фев 26, 2007 19:44:35
Abakt
Посмотрите таблицу всех состояний вывода МК на pid.by.ru/02.htm
Добавлено: Пн фев 26, 2007 20:52:44
Piroman17
Добавлено: Пн фев 26, 2007 20:55:33
Abakt
ну и напишите теперь словами в каком состоянии находится у вас порт ? посмотрите по таблице.
Добавлено: Пн фев 26, 2007 20:58:51
Piroman17
Z-состояние.
ВысокоОмный вход
А надо какое?
Добавлено: Пн фев 26, 2007 21:21:14
moLCHec
Piroman17 Совершенно непонятно о чём вы говорите порт читют из регистра PINx где x буква порта.
Re: ATmega16: порты
Добавлено: Пн фев 26, 2007 21:29:26
Naddir
Piroman17 писал(а):Почему когда к ноге ничего не подключенно, PINB.0 - показывает логическую единицу? Может так должно быть

(В чём я сомневаюсь)? И как с этим бороться ...
Если я правильно понял читается 1, по-моему когда порт настроен на вход и ни чего не подключено, то устанавливается 0 или 1 случайным образом. Или ты напряжение на ножке меряешь?
Добавлено: Пн фев 26, 2007 21:50:28
Aheir
Почему когда к ноге ничего не подключенно, PINB.0 - показывает логическую единицу?
Потому что высокоимпедансное состояние запросто может восприниматься самим контроллером, как лог.1.
устанавливается 0 или 1 случайным образом
На высокоимпедансном входе не устанавливается произвольное значение, это состояние хорошо тем, что
ты сам можешь тянуть ногу как к земле, так и а питанию
как с этим бороться
Прикрутить резистор на землю и ждать лог.1...
Добавлено: Пн фев 26, 2007 22:00:57
Naddir
устанавливается 0 или 1 случайным образом
На высокоимпедансном входе не устанавливается произвольное значение, это состояние хорошо тем, что
ты сам можешь тянуть ногу как к земле, так и а питанию
Я не предлагал, как с этим бороться. Но если нет подтягивающих резисторов какое будет состояние?
Добавлено: Пн фев 26, 2007 22:08:07
Abakt
Piroman17 писал(а):Z-состояние.
ВысокоОмный вход
А надо какое?
для чего ? чтоб ноль получить ? в таблице же написано.
Добавлено: Пн фев 26, 2007 22:12:12
Abakt
Aheir писал(а):высокоимпедансное состояние запросто может восприниматься самим контроллером, как лог.1.
Контроллер не может воспринимать высокоимпедансное состояние или низкоимпедансное. Ему не чем это сделать.
Контроллер воспринимает напряжения на своем выводе не зависимо от его импеданса и преобразует напряжения в лог. уровни "1" или "0" которые заносятся в регистры PINx.
Добавлено: Пн фев 26, 2007 22:23:54
Abakt
Piroman17 писал(а):Z-состояние.
ВысокоОмный вход
А надо какое?
В правой колонке
"таблица состояния ножки МК" - pid.by.ru/02.htm
смотрите что вам надо получить, а в двух колонках левее -
что нужно сделать программе для этого.
"Работа МК - шевелить, дергать ножками." pid.by.ru/03.htm
Удобно и быстро можно настроить ножки с помощью мастера компилятора CVAVR по примеру - pid.by.ru/z3.htm - и затем посмотреть правильный код. Потом разберитесь что означают
строки кода созданого мастером.
Добавлено: Вт фев 27, 2007 00:00:31
Aheir
Abakt писал(а):Aheir писал(а):высокоимпедансное состояние запросто может восприниматься самим контроллером, как лог.1.
Контроллер не может воспринимать высокоимпедансное состояние или низкоимпедансное. Ему не чем это сделать.
Естественно, имелось ввиду напряжение на выводе контроллера.
Мне кажется, это достаточно очевидно для читающих эту ветку. Каково это напряжение в высокоимпедансном состоянии без нагрузки на этой ноге контроллера? То-то и оно...
Контроллер воспринимает напряжения на своем выводе не зависимо от его импеданса и преобразует напряжения в лог. уровни "1" или "0" которые заносятся в регистры PINx.
Хорошо. В какой логический уровень преобразуется напряжение на ненагруженном выводе микроконтроллера, если этот вывод находится в третьем состоянии?
Добавлено: Вт фев 27, 2007 01:18:24
Abakt
Aheir писал(а):Хорошо.
В какой логический уровень преобразуется напряжение на ненагруженном выводе микроконтроллера, если этот вывод находится в третьем состоянии?
В соответствии с правилами указаными в даташите и описаными по русски с графиками на странице курса - pid.by.ru/02.htm
Эти правила для ножек МК которые могут быть входами (и кроме XTAL1 и RESET) в МК AVR описаны в разделе ДШ "Electrical Characteristics" и иллюстрированы графиками :
и далее идет толкование ...
=====
Уж третий раз вроде пишу. Прочитайте и будете понимать.
Добавлено: Вт фев 27, 2007 08:17:23
Aheir
В соответствии с правилами указаными в даташите и описаными по русски с графиками на странице курса - pid.by.ru/02.htm
А в ветке ответить можно?

Добавлено: Вт фев 27, 2007 08:21:40
Abakt
Ну какой смысл перетаскивать сюда большой кусок текста и графики ?
Хотите - сделайте "копировать - вставить" и картинки прицепите. Как таблицу вставить сюда я не знаю.
Иль в обучалке поищите -
http://www.radiokot.ru/start
Аль в даташите - самая точная инфа.
Добавлено: Вт фев 27, 2007 09:08:51
Abakt
Вот человек пишет:
http://www.roboforum.ru/viewtopic.htm?p=24663
Забыл правильно сконфигурировать вывод МК и удивлялся - че так медленно контроллер пашет

Добавлено: Вт фев 27, 2007 18:05:26
Piroman17
Помоему меня не так поняли... Ещё раз описываю ситуатцию:
1) Начальный код создан мастером CVAVR
2) Порт B стоит как вход в Z-состоянии.
3) Читаю при помощи PINB.0 логический уровень сигнала
4) получаю единицу, хотя к ноге ничего не присоединенно (=> напряжение на ноге 0)
Вопрос: Почему при напряжении 0В читается единица?
Добавлено: Вт фев 27, 2007 19:01:52
Abakt
Piroman17 писал(а):Вопрос: Почему при напряжении 0В читается единица?
Вы измерили это напряжение ?
Добавлено: Вт фев 27, 2007 19:54:23
Piroman17
Да, мерил.
Кстати я подумал может это мк глючный - оказалось нет. Проверял и на втором МК тоже.