Полная версия этой страницы:
Третье состояние пина МК.
Oleg_IT
Apr 20 2008, 19:08
Подскажите, как программно определить третье состояние пина МК?
rezident
Apr 20 2008, 22:25
Для начала хотелось бы от вас услышать определение этого термина - "третье состояние пина МК"
я так полагаю это Z состояние
Программно определяется в зависимости от типа МК
У АВР, например, нулями в DDRxx и PORTxx..
а также состояние бита PUD
rezident
Apr 21 2008, 00:14
dENIM, а я не у вас спрашивал, а у автора темы. Может у него свое собственное определение. Иначе как понять, что он подразумевает под этим и чего желает? Тема-то в разделе Цифровые схемы, а не в AVR находится.
Цитата(rezident @ Apr 21 2008, 03:14)

dENIM, а я не у вас спрашивал, а у автора темы. Может у него свое собственное определение. Иначе как понять, что он подразумевает под этим и чего желает? Тема-то в разделе Цифровые схемы, а не в AVR находится.
Разве вы где то в моем посте увидели обращение к вам?
Я отвечал автору темы.
и про АВР привел лишь в качестве примера, полагая что искомым МК может оказаться именно АВР, что избавит от дальнейшего расуждения.
А соответствие тематике раздела, должно в первую очередь волновать модераторов, а не меня.
Oleg_IT
Apr 21 2008, 04:41
Да, прошу прощение, заработался и не уточнил терминологию.
Работаю на AVR, но, думаю во первых особой разницы на каком МК это реализовать не будет, а во вторых думаю одним МК, и одним пином тут не обойтись, нужна внешняя обвязка.
Суть проблемы. Нужно что бы МК почувствовал разрыв цепи. В цепи ни чего особого нет, или «земля» или Vcc или разрыв, то самое третье состояние.
arttab
Apr 21 2008, 23:34
исходите из того что вход мк реагирует на напряжение. для контроля целостности можно пустить небольшой ток контроля и контролировать напряжение или форму сигнала на входе.
Artem_Petrik
May 1 2008, 18:27
Можно поступить следующим образом: К выводу МК снаружи цепляем на землю резистор, достаточно большой для того, чтобы при включении PULL-UP внутри контроллера с ноги считывалась еденица.
Процесс измерения: Изначально пуллап включен. Читаем состояние ноги. Если ноль - значит снаужи земля. Если еденица - убираем пуллап и через некоторе время опять считываем состояние. Если считался ноль - значит кроме нашего резюка больше никого нет(искомое третье состояние). Если осталась еденица - значит снаружи Vcc.
Если между первым и вторым считыванием произошло изменение, то полученный результат будет не верен, так что придется повторить измерение несколько раз, и мажоритарно выбрать истинное состояние. Если же опрос будет производится только раз, чтобы считать скажем конфигурацию с джамперов/дип-свича, то можно не заморачиваться.
Oleg_IT
May 3 2008, 17:45
Спасибо. Этот метод, наверное подойдёт.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.