Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Третье состояние
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Pavel_Bor
Доброго времени суток! Столкнулся с вопросом о третьем состояние выходных ножек контроллера. Подскажите пожалуйста как установить ножки в третье состояние.

PS:
Задача состоит в том что 2 одинаковых контроллера включены на общую шину и должны работать по очереди. Если будут работать 2 одновременно сигнал не получится.
@Ark
TRIS=0 - Выходной дравер порта подключен. Можно программно выставить состояния или 0 или 1.
TRIS=1 - Выходной драйвер порта отключен. Нельзя программно ничего выставить. Третье состояние.
Pavel_Bor
а выходной сигнал в данном случае будет виден как обрыв? или как 1 или 0?
@Ark
Цитата
а выходной сигнал в данном случае будет виден как обрыв? или как 1 или 0?

Виден где? Имеется ввиду напряжение непосредственно на ноге, как я понял? Оно будет определяться теми внешними цепями, что к ней подключены. "Подтяжками", например... Если оставите "болтаться в воздухе", то будет определяться всякими наводками. Будет непонятно какой, "плавающий потенциал" в пределах примерно от -0,5В до Vdd+0,5В... Входное сопротивление в третьем состоянии очень высокое - порядка мегаом, т.е. разрыв (обрыв) цепи по Вашей терминалогии, хотя это не совсем правильно. Входы порта (аналоговые и цифровые) в третьем состоянии продолжают работать. Т.е. "прочитать" из PIC-а что делается на ножке - можете всегда. По цифровому входу - прочитаете либо 0, либо 1, в зависимости от напряжения. По аналоговому, через АЦП, можете измерить реальное текущее напряжение.
Pavel_Bor
PIC24FJ64GA002. При высоком уровне напряжение на выходной ножке - 3В. Для работы остальных элементов схемы, подключенных к выходам контроллера необходимо напряжение - 5 В и 9 В. Как лучше сделать переход?
Слышал что из третьего состояния перейти на 9В легко, вот только не знаю как...
Марк_Я
Можно только на пять вольт. И то по пинам с открытым стоком. Если эмулировать открытый сток третим состоянием и подключить подтяжку выше питания МК+0,3 вольта, то откроются верхние защитные диоды выхода и подтяжка либо сядет до питания МК, либо (при малом сопротивлении резистора подтяжки) произойдет паразитная запитка МК от источника напряжения подтяжки. С летальным для МК исходом...
Так что на 9 вольт через ключ, онли...
inki-sasha
Пробовал подтягивать ноги к 5в для PIC24FJ64GA004 получается только с определенными выводами которые не имеют аналоговые функции.
К примеру:
// Цепь: DAT1, Переменная: --
#define DAT1_OD ODCBbits.ODB3
#define DAT1_IO LATBbits.LATB3
#define DAT1_TRIS TRISBbits.TRISB3
#define DAT1_PORT PORTBbits.RB3

// Цепь: DAT2, Переменная: --
#define DAT2_OD ODCBbits.ODB2
#define DAT2_IO LATBbits.LATB2
#define DAT2_TRIS TRISBbits.TRISB2
#define DAT2_PORT PORTBbits.RB2

// Цепь: DAT3, Переменная: --
#define DAT3_OD ODCAbits.ODA1
#define DAT3_IO LATAbits.LATA1
#define DAT3_TRIS TRISAbits.TRISA1
#define DAT3_PORT PORTAbits.RA1

// Цепь: DAT4, Переменная: --
#define DAT4_OD ODCAbits.ODA0
#define DAT4_IO LATAbits.LATA0
#define DAT4_TRIS TRISAbits.TRISA0
#define DAT4_PORT PORTAbits.RA0

// Цепь: DAT5, Переменная: --
#define DAT5_OD ODCAbits.ODA7
#define DAT5_IO LATAbits.LATA7
#define DAT5_TRIS TRISAbits.TRISA7
#define DAT5_PORT PORTAbits.RA7

// Цепь: DAT6, Переменная: --
#define DAT6_OD ODCAbits.ODA10
#define DAT6_IO LATAbits.LATA10
#define DAT6_TRIS TRISAbits.TRISA10
#define DAT6_PORT PORTAbits.RA10

идет инициализация 6 линий для работы с открытым коллектором и поддяжкой выводов к 5в
в данной конфигурации сработали только линии DAT5, DAT6 так как выводи RA7 , RA10 не имеют аналоговой функции
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.