Как определить или создать настраиваемые PORT
или PIN
в AVR?
Например, давайте определим новый 8-битный порт с именем PORTX
, который состоит из PA0
(MSB), PA1
, PB0
, PB1
, PC0
, PC1
, PD0
, PD1
(LSB). Итак, всякий раз, когда я выполняю следующий код:
PORTX = 0x05;
Он назначит 1
как PC1
, так и PD1
, а остальным будет 0
.
Точно так же следующий код (при условии, что PC1
и PD1
подтянуты до 5 В)
DDRC &= ~_BV(PC1); // declaring PORTC.1 as input
DDRD &= ~_BV(PD1); // declaring PORTD.1 as input
uint8_t myValue;
myValue = PINX;
назначит 5
myValue
.