Перейти к содержанию
    

LPC2148, проблема с GPIO P0.20.

Добрый день, форумчане. Захотелось мне реализовать проверку 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", даже если пин закорочен на землю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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.

Думаю, там есть различия в выходном каскаде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

подтяжку на лапы P0.2 и P0.3 поставил. и нареканий к ним нет - коротыш проверяется и к плюсу и к минусу. вот только чудеса с P0.20.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сконфигурировать как выход, для проверки КЗ

А интересно, какой ток будет через вывод при выходной 1 и КЗ на землю, при выходном 0 и КЗ на питание?

И какой допустимый ток для данных выводов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

надо думать больше, чем заявленно по мануалу. просто уже были прециденты, когда в следствии мобильности моего устройства происходили перетирания/оголение и банальные сопли при монтаже, что приводило к непонятному повидению девайса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

надо думать больше, чем заявленно по мануалу

А тогда кто вам сказал, что вы считаете с вывода, то, что вы хотите? Запросто можно считать

например прогноз погоды.

Может быть есть другие решения? Насчет

перетирания/оголение

А уж

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

 

Просто подумайте - что происходит с выводом при превышении предельно допустимого для этого вывода тока?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проблема решилась. оказалось в разрыв лапы стоял резистор 100 Ом. оставлю за собой право умолчать как он туда попал и почему я его не заметил. вобщем всё заработало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...