Например TDA7294

Форум РадиоКот • Просмотр темы - Что значит: порт на вход и на выход, объясните на пальцах
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн дек 22, 2025 20:40:28

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Что значит: порт на вход и на выход, объясните на пальцах
СообщениеДобавлено: Пн янв 26, 2015 19:49:49 
Опытный кот
Аватар пользователя

Карма: 18
Рейтинг сообщений: 44
Зарегистрирован: Чт апр 12, 2012 07:19:59
Сообщений: 873
Откуда: Тюмень
Рейтинг сообщения: 0
Приветствую, только не кидайтесь тухлыми помидорами. Вроде всё просто, но в документации(погуглил) как-то этот момент опущен, или просто так написано что не могу понять. Что значит что порт включен на вход и на выход? В чём отличие и что это даёт? Объясните на пальцах. :?

P.S. Сижу играюсь с семи-сегментным индикатором. Порт, отвечающий за сегменты, включил на выход(записал в него 0х0) и при подаче на ножку порта соответвенно нуля, нужный сегмент загорается(индикатор с общим анодом). Вот не могу понять почему так. Думал, наоборот надо, порт на вход устанавливать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Что значит: порт на вход и на выход, объясните на пальца
СообщениеДобавлено: Пн янв 26, 2015 20:03:52 
Модератор
Аватар пользователя

Карма: 23
Рейтинг сообщений: 331
Зарегистрирован: Пт янв 11, 2013 19:19:26
Сообщений: 2117
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Хороший вопрос. А что книжки говорят? А Вы что ни будь читаете, по тематике. Или просто взяли и решили поиграться индикатором и МК?

_________________
=========
Правила Форума ЗДЕСЬ _____ Правила раздела БАЗАР ЗДЕСЬ _____ Если вы продаете, прочтите ЗДЕСЬ

Редко появляюсь. Если вопрос не личного характера пользуйтесь кнопкой "!".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Что значит: порт на вход и на выход, объясните на пальца
СообщениеДобавлено: Пн янв 26, 2015 21:27:38 
Опытный кот
Аватар пользователя

Карма: 18
Рейтинг сообщений: 44
Зарегистрирован: Чт апр 12, 2012 07:19:59
Сообщений: 873
Откуда: Тюмень
Рейтинг сообщения: 0
В данный момент учусь по книжке " Михаэль Хофман: Микроконтроллеры для начинающих". Глава 6-я, раздел 3-й. По сути вода, сказано, мол, хотите вход, запишите в TRIS 1, выход -0. (Где-то у меня ещё в электронке по ПИКам книги были, надо ещё в них покопаться). Так же копаясь по сайтам с информацие по программированию пиков, натыкаюсь на разделы про порты ввода вывода, попадается поподробнее, типа:

Цитата:
Порт может быть настроен на ввод или вывод цифрового сигнала с помощью защелки TRIS, которая представляет собой D-триггер. Если порт должен работать как выход, то на вход D защелки TRIS подается сигнал лог. 0, который по тактовому импульсу записывается в триггер.

В этом случае инверсный выход TRIS-защелки разрешает работу схемы "И" и открывает тристабильный буфер, через который сигнал с выхода защелки данных проходит на вывод порта. В этом случае данные с вывода порта можно будет только читать. Здесь не следует смешивать чтение выходных данных порта и чтение вывода порта. Для чтения бита данных, записанного в порт, нужно прочитать содержимое защелки данных. Каждому выводу порта ввода/вывода соответствует отдельный бит в регистрах TRISx, PORTx, LATx и ODCx.

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

Если для какого-либо вывода порта в регистре TRIS на соответствующей позиции установлен 0, то вывод будет работать на передачу данных. Если же соответствующий бит в регистре TRIS установлен в 1, то вывод порта будет работать на прием (чтение). Доступ к данным порта осуществляется посредством регистра PORTx. При чтении этого регистра считываются значения сигналов, присутствующих на выводах порта, а при записи этого регистра данные заносятся в защелку данных порта.

Аналогичная стилистика написания в "Справочник по среднему семейству микроконтроллеров PICmicro", глава 9-я "Порты ввода-вывода" http://mculab.ru/datasheet/pic/pic16_9.pdf

Тяжело как-то воспринимается. Какие защёлки, триггеры, логические И-ИЛИ, буферы. Мне бы по простому, мол, режим "вход" используется тогда-то и для того-то, режим "выход" тогда-то и для того-то. А уже со временем, когда разберусь подробнее и отрастёт борода и свитер прилипнет к телу, полезу глубже, в защёлки и триггеры. Мне как любителю, на первое время тяжело воспринимать информацию в таком виде. Поэтому и хочется чтобы опытные, бородатые коты рассказали на пальцах что к чему, чтобы в голове уложилось. Зачем этот флаг направления вообще нужен. Почему нельзя просто записывать в порт 0 или 1 без этого регистра направления? А там глядишь и свой котелок варить начнёт :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Что значит: порт на вход и на выход, объясните на пальца
СообщениеДобавлено: Пн янв 26, 2015 22:04:07 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7853
Рейтинг сообщения: 0
Цитата:
Тяжело как-то воспринимается. Какие защёлки, триггеры, логические И-ИЛИ, буферы.

Вычеркни их из текста и получится:
Цитата:
Если для какого-либо вывода порта в регистре TRIS на соответствующей позиции установлен 0, то вывод будет работать на передачу данных. Если же соответствующий бит в регистре TRIS установлен в 1, то вывод порта будет работать на прием (чтение).

Не забывай настроить порты как цифровые, т.е. отключить переферию.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Что значит: порт на вход и на выход, объясните на пальца
СообщениеДобавлено: Вт янв 27, 2015 09:11:33 
Опытный кот
Аватар пользователя

Карма: 18
Рейтинг сообщений: 44
Зарегистрирован: Чт апр 12, 2012 07:19:59
Сообщений: 873
Откуда: Тюмень
Рейтинг сообщения: 0
otest писал(а):
Цитата:
Тяжело как-то воспринимается. Какие защёлки, триггеры, логические И-ИЛИ, буферы.

Вычеркни их из текста и получится:
Цитата:
Если для какого-либо вывода порта в регистре TRIS на соответствующей позиции установлен 0, то вывод будет работать на передачу данных. Если же соответствующий бит в регистре TRIS установлен в 1, то вывод порта будет работать на прием (чтение).

Не забывай настроить порты как цифровые, т.е. отключить переферию.

Дык, а что это значит что порт работает на приём или передачу? Т.е например на "приём", т.е в порту он замыкается на землю, что ток начинает течь в него или что происходит?
Ведь что режим входа, что режим выхода, я и там и там могу выставить на ножку 0 или 1, так ведь? :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Что значит: порт на вход и на выход, объясните на пальца
СообщениеДобавлено: Вт янв 27, 2015 09:16:11 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Вы знаете, что у микросхем (жёсткая логика) есть входы и выходы.
У контроллера вы выбираете для каждого сигнального вывода "чем он будет", входом или выходом (регистр TRISx).
P.S.
Если выход - записываете данные в порт или бит порта (к примеру, зажигаете светодиод).
Если вход - читаете данные с порта или бит порта (к примеру, опрос кнопки).

_________________
С Уважением, Альберт (Albert_V).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Что значит: порт на вход и на выход, объясните на пальца
СообщениеДобавлено: Вт янв 27, 2015 11:17:33 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 24615
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
xterro писал(а):
Дык, а что это значит что порт работает на приём или передачу?

Работа порта на прием НЕ ВЫКЛЮЧАЕТСЯ (за исключением особых случаев связанных с аналоговыми функциями пина).
Выключается ВЫХОДНОЙ БУФЕР защелки порта.
То есть вход фиксированно присоединен к пину, а выход может переводится в третье состояние путем запирания СРАЗУ ОБОИХ транзисторов выходной комплементарной пары (TRIS=1). При работе пина как ВЫХОДА можно спокойно ПРОЧЕСТЬ состояние пина как ВХОДА.
Поэтому есть регистр LAT - это защелка выхода. И есть регистр PORT - это сам ПИН порта.
Чтение LAT - это чтение защелки, а не пина. Чтение PORT - это чтение пина.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Что значит: порт на вход и на выход, объясните на пальца
СообщениеДобавлено: Вт янв 27, 2015 11:35:25 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
КРАМ, про регистр LAT лучше аккуратнее говорить. Не у всех PIC контроллеров есть этот регистр, а ТС не обозначил с каким PIC-ом он работает (к примеру, у PIC16F87X нет регистра LAT).

_________________
С Уважением, Альберт (Albert_V).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Что значит: порт на вход и на выход, объясните на пальца
СообщениеДобавлено: Вт янв 27, 2015 12:01:23 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 24615
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Albert_V писал(а):
КРАМ, про регистр LAT лучше аккуратнее говорить. Не у всех PIC контроллеров есть этот регистр

Причем тут аккуратность?
Если регистра нет, то это следует из даташита и НИЧЕГО ПО СУЩЕСТВУ ИЗЛОЖЕННОГО МНОЙ НЕ МЕНЯЕТ.
Более того, отсутствие этого регистра приводит к процедуре RMW для пина, а не для защелки.
То есть понимание отличия LAT и PORT даст понимание механизма порчи состояния выходных защелок при модификации бита порта.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y