Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2148, проблема с GPIO P0.20.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
trientxp
Добрый день, форумчане. Захотелось мне реализовать проверку 3-х пинов (P0.2, P0.3 и P0.20) на КЗ на землю или питание. Решил реализовать это следующим образом: сконфигурировать как выход, для проверки КЗ на землю выставлять "1" (FIO0SET=1<<2 например) и FIO0PIN-ом считывать состояние (если верить мануалу состояние пина захватится не взависимости от конфига PINSEL0) - если "0" - значит коротец. проверка на КЗ к плюсу - с точностью до наоборот. это прокатывает для пинов 0.2 и 0.3. А вот с 20-ым нарисовался непонятный баг: если выставить 0 - FIOCLR=1<<20, то FIO0PIN будет считывать сосотояние пина адекватно, будь он посажен на GND или Vpp. А вот если его выставить в 1 - FIO0SET=1<<20, то FIOPIN будет всегда выдавать "1", даже если пин закорочен на землю.
Dron_Gus
P0.2 м P0.3:
Цитата
Open-drain 5 V tolerant digital I/O I2C-bus 400 kHz specification compatible pad. It requires external pull-up to provide an output
functionality.

Думаю, там есть различия в выходном каскаде.
trientxp
подтяжку на лапы P0.2 и P0.3 поставил. и нареканий к ним нет - коротыш проверяется и к плюсу и к минусу. вот только чудеса с P0.20.
alag57
Цитата(trientxp @ Nov 28 2013, 12:54) *
сконфигурировать как выход, для проверки КЗ

А интересно, какой ток будет через вывод при выходной 1 и КЗ на землю, при выходном 0 и КЗ на питание?
И какой допустимый ток для данных выводов?
trientxp
надо думать больше, чем заявленно по мануалу. просто уже были прециденты, когда в следствии мобильности моего устройства происходили перетирания/оголение и банальные сопли при монтаже, что приводило к непонятному повидению девайса.
alag57
Цитата(trientxp @ Nov 29 2013, 11:37) *
надо думать больше, чем заявленно по мануалу

А тогда кто вам сказал, что вы считаете с вывода, то, что вы хотите? Запросто можно считать
например прогноз погоды.
Может быть есть другие решения? Насчет
Цитата
перетирания/оголение

А уж
Цитата
банальные сопли при монтаже
надо наверное устранять еще до подключения питания.

Просто подумайте - что происходит с выводом при превышении предельно допустимого для этого вывода тока?
trientxp
8.4.3 GPIO port Pin value register (IOPIN, Port 0: IO0PIN - 0xE002 8000 and
Port 1: IO1PIN - 0xE002 8010; FIOPIN, Port 0: FIO0PIN - 0x3FFF C014
and Port 1: FIO1PIN - 0x3FFF C034)
This register provides the value of port pins that are configured to perform only digital
functions. The register will give the logic value of the pin regardless of whether the pin is
configured for input or output, or as GPIO or an alternate digital function.
trientxp
проблема решилась. оказалось в разрыв лапы стоял резистор 100 Ом. оставлю за собой право умолчать как он туда попал и почему я его не заметил. вобщем всё заработало.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.