В данный момент учусь по книжке " Михаэль Хофман: Микроконтроллеры для начинающих". Глава 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 без этого регистра направления? А там глядишь и свой котелок варить начнёт
