Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 17.10.2018, 09:21   #1
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 41
Сообщений: 176
Вес репутации: 100/15
Руслан will become famous soon enoughРуслан will become famous soon enough
По умолчанию PORTD глючит на вход

Всем привет!

PIC18F452
На ВЫХОД все работает отлично.
Пробую работать с PORTD на вход, но ведет он себя не понятно.

Ниже привожу исходник.
В цикле опрашиваю только RD5 и включаю светодиод если RD5 подключился к GND т.е. сработал датчик.

Но если я на GND вешаю RD4 или RD6 то тоже включается светодиод, хотя в программе я опрашиваю только RD5. Если же я на GND вешаю RD7 то программа перестартовует.

Код:
    PORTD = 0; //инициализация с очисткой выходной защёлки данных
    LATD = 0;  //альтернативный метод очистки выходной защёлки данных

                                    
    PSPMODE = 0;//PORTD-двунаправленный порт ввода/вывода (отключил параллельный порт)    
   

    TRISD = 0xFF; //Set RD<7:0> as input
//	TRISD5 = 1;// не работает
затем в цикле смотрю состояние ноги:

Код:
	while(1)
	{

		if(RD5 == 0) //значит замкнули ногу на GND
  реагирует на все RD4 - RD6 а на 7 перестартовует прога
			 NASOS = 1;	   //включить светодиод
		else if(RD5 == 1) //разомкнули
			 NASOS = 0;	   // выключить светодиод
		else{}
	}
Руслан вне форума   Ответить с цитированием
Старый 17.10.2018, 10:02   #2
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,885
Вес репутации: 3528/77
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PORTD глючит на вход

Руслан
у Вас отладчик есть?
посмотрите перед тем как RD7 землить ее состояние.
tris и lat.
besogon вне форума   Ответить с цитированием
Старый 17.10.2018, 10:13   #3
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 47
Сообщений: 1,773
Вес репутации: 1860/75
petrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant future
Отправить сообщение для petrd с помощью ICQ
По умолчанию Re: PORTD глючит на вход

А на входных ногах резисторы подтяжки есть?
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd вне форума   Ответить с цитированием
Старый 17.10.2018, 10:19   #4
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 41
Сообщений: 176
Вес репутации: 100/15
Руслан will become famous soon enoughРуслан will become famous soon enough
По умолчанию Re: PORTD глючит на вход

Цитата:
Сообщение от petrd Посмотреть сообщение
А на входных ногах резисторы подтяжки есть?
специально я не ставил резисторы внешние, с другими портами работаю аналогично - и все ок, может у других внутри есть резисторы подтяжки, а у PORTD нет...
Руслан вне форума   Ответить с цитированием
Старый 17.10.2018, 10:24   #5
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 41
Сообщений: 176
Вес репутации: 100/15
Руслан will become famous soon enoughРуслан will become famous soon enough
По умолчанию Re: PORTD глючит на вход

Цитата:
Сообщение от besogon Посмотреть сообщение
Руслан
у Вас отладчик есть?
посмотрите перед тем как RD7 землить ее состояние.
tris и lat.
отладчик есть - попробую глянуть вечером.
Но я ж прописал явно tris и lat…


У меня есть подозрения на этот параллельный порт, который я отключаю при инициализации порта

Код:
PSPMODE = 0;//PORTD-двунаправленный порт ввода/вывода (отключил параллельный порт)
Руслан вне форума   Ответить с цитированием
Старый 17.10.2018, 12:06   #6
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 47
Сообщений: 1,773
Вес репутации: 1860/75
petrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant future
Отправить сообщение для petrd с помощью ICQ
По умолчанию Re: PORTD глючит на вход

Цитата:
Сообщение от Руслан Посмотреть сообщение
специально я не ставил резисторы внешние
Так поставьте.
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd вне форума   Ответить с цитированием
Старый 17.10.2018, 13:35   #7
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 38
Сообщений: 264
Вес репутации: 485/49
HJV is a glorious beacon of lightHJV is a glorious beacon of lightHJV is a glorious beacon of lightHJV is a glorious beacon of lightHJV is a glorious beacon of light
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: PORTD глючит на вход

Цитата:
Сообщение от Руслан Посмотреть сообщение
специально я не ставил резисторы внешние
Переведите тогда остальные пины на выход, а на этот все равно резистор поставить надо.
HJV вне форума   Ответить с цитированием
Старый 17.10.2018, 14:26   #8
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 41
Сообщений: 176
Вес репутации: 100/15
Руслан will become famous soon enoughРуслан will become famous soon enough
По умолчанию Re: PORTD глючит на вход

Цитата:
Сообщение от HJV Посмотреть сообщение
Переведите тогда остальные пины на выход, а на этот все равно резистор поставить надо.
Мне нужно на вход 4 штуки: RD4, RD5, RD6, RD7

Резистор я попробую поставить, но почему другие порты работают без внешних резисторов на вход, а PORTD нет?


Какой номинал резистора, и я вешаю с ноги RD5 на 5В?
Руслан вне форума   Ответить с цитированием
Старый 17.10.2018, 14:54   #9
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 47
Сообщений: 1,773
Вес репутации: 1860/75
petrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant future
Отправить сообщение для petrd с помощью ICQ
По умолчанию Re: PORTD глючит на вход

Цитата:
Сообщение от Руслан Посмотреть сообщение
Мне нужно на вход 4 штуки: RD4, RD5, RD6, RD7
Резистор я попробую поставить, но почему другие порты работают без внешних резисторов на вход, а PORTD нет?
Все зависит от типа нагрузки к которой подключен вход. Если нагрузка высокоомная (читай вход висит в воздухе) надо вход куда-то подтягивать или к верху или к земле. Есть PORTB, там есть подтягивающие резисторы к верху (если включить, конечно). У остальных портов их нет и резисторы надо ставить. Кто их ставит потом не задает "чудесных" вопросов. Нечего пробовать, уже попробовано до вас, надо ставить. Резисторы можете ставить 1....10 кОм, не ошибетесь.
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd вне форума   Ответить с цитированием
Старый 17.10.2018, 14:57   #10
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,885
Вес репутации: 3528/77
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PORTD глючит на вход

petrd
сударь утверждает, что у него перезагружается.
перезагружается если - похоже на bor.
besogon вне форума   Ответить с цитированием
Старый 18.10.2018, 06:41   #11
masterzx
Senior Member
 
Аватар для masterzx
 
Регистрация: 21.09.2007
Адрес: Барнаул
Возраст: 33
Сообщений: 1,493
Вес репутации: 826/63
masterzx is a splendid one to beholdmasterzx is a splendid one to beholdmasterzx is a splendid one to beholdmasterzx is a splendid one to beholdmasterzx is a splendid one to beholdmasterzx is a splendid one to beholdmasterzx is a splendid one to behold
Отправить сообщение для masterzx с помощью ICQ
По умолчанию Re: PORTD глючит на вход

Цитата:
Сообщение от petrd Посмотреть сообщение
Все зависит...
Контроллер старый, а у старых подтяжки были только на порту Б. Так как там реализовано внешнее прерывание, для удобства подключения клавиатуры напрямую.
Цитата:
Сообщение от besogon Посмотреть сообщение
petrd
сударь утверждает, что у него перезагружается.
перезагружается если - похоже на bor.
Так у него входа не подтянуты. Да ещё и не известно какой длины провода подключены к данным входам. Может у него метров по 10 провода. И контроллер ловит наводки такими антеннами.
__________________
Если проблему можно решить за деньги, то это не проблема, это расходы. Еврейская мудрость.
masterzx вне форума   Ответить с цитированием
Старый 18.10.2018, 06:51   #12
masterzx
Senior Member
 
Аватар для masterzx
 
Регистрация: 21.09.2007
Адрес: Барнаул
Возраст: 33
Сообщений: 1,493
Вес репутации: 826/63
masterzx is a splendid one to beholdmasterzx is a splendid one to beholdmasterzx is a splendid one to beholdmasterzx is a splendid one to beholdmasterzx is a splendid one to beholdmasterzx is a splendid one to beholdmasterzx is a splendid one to behold
Отправить сообщение для masterzx с помощью ICQ
По умолчанию Re: PORTD глючит на вход

Цитата:
Сообщение от Руслан Посмотреть сообщение
специально я не ставил резисторы внешние, с другими портами работаю аналогично - и все ок, может у других внутри есть резисторы подтяжки, а у PORTD нет...
Вот открыть даташит религия не позволяет? Там все подробно указано. Есть даже рекомендации по подключению входов. И так же по изучайте http://micpic.ru/articles/114-proekt...ustrojstv.html
__________________
Если проблему можно решить за деньги, то это не проблема, это расходы. Еврейская мудрость.
masterzx вне форума   Ответить с цитированием
Старый 18.10.2018, 09:11   #13
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 41
Сообщений: 176
Вес репутации: 100/15
Руслан will become famous soon enoughРуслан will become famous soon enough
По умолчанию Re: PORTD глючит на вход

прикрутил подтягивающие резисторы и все ок.
А на других портах, на которых я писал что все работает - есть резисторы внешние - давно схему разрабатывали, забылось.

Всем спасибо!

Последний раз редактировалось Руслан; 18.10.2018 в 09:18.
Руслан вне форума   Ответить с цитированием
Старый 18.10.2018, 09:22   #14
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 41
Сообщений: 176
Вес репутации: 100/15
Руслан will become famous soon enoughРуслан will become famous soon enough
По умолчанию Re: PORTD глючит на вход

Цитата:
Сообщение от masterzx Посмотреть сообщение
Вот открыть даташит религия не позволяет? Там все подробно указано. Есть даже рекомендации по подключению входов. И так же по изучайте http://micpic.ru/articles/114-proekt...ustrojstv.html
смотрел даташит, про подтягивающие резисторы сказано только для PORTD на стр 90, что для их включения надо установить бит в регистре.
А по другим портам - не сказано, а по приведенным схемам портов я не могу понять есть ли там внутри подтяжка - смотрю в книгу вижу фигу
Руслан вне форума   Ответить с цитированием
Старый 18.10.2018, 10:22   #15
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 47
Сообщений: 1,773
Вес репутации: 1860/75
petrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant future
Отправить сообщение для petrd с помощью ICQ
По умолчанию Re: PORTD глючит на вход

Цитата:
Сообщение от Руслан Посмотреть сообщение
смотрел даташит, про подтягивающие резисторы сказано только для PORTD на стр 90, что для их включения надо установить бит в регистре.
А по другим портам - не сказано, а по приведенным схемам портов я не могу понять есть ли там внутри подтяжка - смотрю в книгу вижу фигу
на стр. 90 речь про PORTB (резистор подтяжки, это транзистор weak pull-up). Просто запомните, что у других портов кроме PORTB в обычных PIC16, PIC18 (может есть исключения, но мне не попадались за ненадобностью) нет резисторов подтяжки. Если есть сомнения, то идем в datasheet. И еще запомните на всякий случай - есть хитрый вывод RA4.
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd вне форума   Ответить с цитированием
Старый 18.10.2018, 13:03   #16
Илья
Senior Member
 
Регистрация: 26.02.2007
Адрес: SPb
Сообщений: 1,166
Вес репутации: 1775/71
Илья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant future
По умолчанию Re: PORTD глючит на вход

Цитата:
Сообщение от petrd Посмотреть сообщение
Просто запомните, что у других портов кроме PORTB в обычных PIC16, PIC18 (может есть исключения, но мне не попадались за ненадобностью) нет резисторов подтяжки. Если есть сомнения, то идем в datasheet. И еще запомните на всякий случай - есть хитрый вывод RA4.
немного устаревшие сведения, годные для "древних" PIC. в новых кроме подтяжки еще можно устанавливать тип входов (Schmitt Trigger CMOS or
the TTL) и другие плюшки (open-drain, slew rate)
Илья вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не записывает в EEPROM dposm Вопросы начинающих 29 13.09.2013 23:52
Помогите написать программу BreAkeR Вопросы начинающих 59 20.12.2009 13:34
Часы на pic 16f874a и ds1307n работают, но не работают faramun21 Продукция MICROCHIP 8 10.07.2009 04:40
помогите переложить рабочую прог с P16F628 на 12f629 gen22 Общетехнические вопросы 3 15.06.2009 14:27
AN1101-Sensor CERGEI1982 Продукция MICROCHIP 12 04.03.2009 18:15


Часовой пояс GMT +3, время: 00:13.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot