Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Третье состояние пина МК.
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Цифровые схемы, высокоскоростные ЦС
Oleg_IT
Подскажите, как программно определить третье состояние пина МК?
rezident
Для начала хотелось бы от вас услышать определение этого термина - "третье состояние пина МК" wink.gif
dENIM
я так полагаю это Z состояние

Программно определяется в зависимости от типа МК

У АВР, например, нулями в DDRxx и PORTxx..
а также состояние бита PUD
rezident
dENIM, а я не у вас спрашивал, а у автора темы. Может у него свое собственное определение. Иначе как понять, что он подразумевает под этим и чего желает? Тема-то в разделе Цифровые схемы, а не в AVR находится.
dENIM
Цитата(rezident @ Apr 21 2008, 03:14) *
dENIM, а я не у вас спрашивал, а у автора темы. Может у него свое собственное определение. Иначе как понять, что он подразумевает под этим и чего желает? Тема-то в разделе Цифровые схемы, а не в AVR находится.


Разве вы где то в моем посте увидели обращение к вам?
Я отвечал автору темы.
и про АВР привел лишь в качестве примера, полагая что искомым МК может оказаться именно АВР, что избавит от дальнейшего расуждения.
А соответствие тематике раздела, должно в первую очередь волновать модераторов, а не меня.
Oleg_IT
Да, прошу прощение, заработался и не уточнил терминологию.
Работаю на AVR, но, думаю во первых особой разницы на каком МК это реализовать не будет, а во вторых думаю одним МК, и одним пином тут не обойтись, нужна внешняя обвязка.
Суть проблемы. Нужно что бы МК почувствовал разрыв цепи. В цепи ни чего особого нет, или «земля» или Vcc или разрыв, то самое третье состояние.
arttab
исходите из того что вход мк реагирует на напряжение. для контроля целостности можно пустить небольшой ток контроля и контролировать напряжение или форму сигнала на входе.
Artem_Petrik
Можно поступить следующим образом: К выводу МК снаружи цепляем на землю резистор, достаточно большой для того, чтобы при включении PULL-UP внутри контроллера с ноги считывалась еденица.
Процесс измерения: Изначально пуллап включен. Читаем состояние ноги. Если ноль - значит снаужи земля. Если еденица - убираем пуллап и через некоторе время опять считываем состояние. Если считался ноль - значит кроме нашего резюка больше никого нет(искомое третье состояние). Если осталась еденица - значит снаружи Vcc.
Если между первым и вторым считыванием произошло изменение, то полученный результат будет не верен, так что придется повторить измерение несколько раз, и мажоритарно выбрать истинное состояние. Если же опрос будет производится только раз, чтобы считать скажем конфигурацию с джамперов/дип-свича, то можно не заморачиваться.
Oleg_IT
Спасибо. Этот метод, наверное подойдёт.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.