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

 
 
> Как включить внутренние подтягивающие резисторы?, Вроде все делаю правильно, но...
Зверюга
сообщение Dec 24 2006, 18:36
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Здравствуйте!

У меня 5 пинов PB0, PB6, PB4, PB5 и PB7 предназначены для кнопок. Т.е. анализируется, нажата ли кнопка, один контакт которой подсоединен к соответствующему пину, второй к плюсу питания.



с PB0 и PB6 все нормально.

С остальными же проблемы - то они ловят единицу, то нет (у меня на других портах, настроеных на вывод светодиоды стоят). Ну в общем похоже на то, что ловят шумы. Может быть дело в разводке платы, не знаю, но повторюсь с первыми двумя пинами все ОК. При подключении к проблемным пинам резистора 10 кОм это явление исчезает. Пытаюсь использовать внутренние подтягивающие резисторы. Может быть неправильно делаю, подскажите.

Делаю так:

DDRB=0x00;
PORTB=0x00;

Это, получается pullup отключены. Результат - PB0 и PB6 работают нормально, PB4,PB5 и PB7 - глючат.

Подключаю pullup:

DDRB=0x00;
PORTB=0xFF;


ТОгда единицы ловятся на всех пинах. Напряжение при этом на входах - менее 0,2 вольт, что подтверждаает что это именно шумы.


Может быть я не правлиьно управляю портами?

Подскажите как найти проблему? СТавить внешние подтягивающие из принципа не хочу.

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Зверюга
сообщение Dec 26 2006, 21:29
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Господа!
Внешние резисторы ведь в итоге соединятся вместе на минусе, и кнопки влияют друг на друга. Можно конечно сделать диодные развязки, но...

Я выкинул резисторы, влкючил pullup, кнопки посадил на минус - все заработало как часы! Даже исчезла проблема, которую я в соседней теме ошибочно расценил, как дребезг контактов.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 26 2006, 21:37
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Зверюга @ Dec 26 2006, 21:29) *
Внешние резисторы ведь в итоге соединятся вместе на минусе, и кнопки влияют друг на друга. Можно конечно сделать диодные развязки, но...

Как влияют??? Земля поднимается???

Цитата(Зверюга @ Dec 26 2006, 21:29) *
Я выкинул резисторы, влкючил pullup, кнопки посадил на минус - все заработало как часы! Даже исчезла проблема, которую я в соседней теме ошибочно расценил, как дребезг контактов.

Дребезг обычно никуда не исчезает. Антидребезг нужно делать всегда.
Про внутренние pull-up уже все сказали - ставьте внешние.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 01:03
Рейтинг@Mail.ru


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