|
||||
DDRD = 0b11111111;. DDRD = 0xb3;. DDRD |= 1<<2;DDRD = 0b11111111; Хотя такая запись и выглядит более наглядной, при конфигурировании портов принято использовать шестнадцатиричное представление чисел. Для того чтобы сконфигурировать все выводы порта D как входы, следует записать во все биты регистра DDRD логические нули. DDRD = 0x00; В регистр DDRD можно записать и другие числа. Например: DDRD = 0xb3; 0xb3 - шестнадцатиричное представление числа 179. В двоичном виде оно будет выглядеть как 10110011. То есть часть выводов порта D будет сконфигурирована как выходы, а часть - как входы. PD0 - 1 (выход)
Каждый бит регистров DDRx может быть установлен отдельно. Например, чтобы сконфигурировать отдельно вывод PD2 как выход, нам необходимо в соответствующий бит регистра DDRD записать 1. Для этого применяют следующую конструкцию. DDRD |= 1< < 2; 1< < 2 - осуществляет сдвиг единички влево на 2 бита, то есть справа добавляются два нулевых бита и получается 100, а знак " |", стоящий перед знаком присваивания " =", осуществляет операцию побитного логического сложения. При логическом сложении 0+0=0, 0+1=1, 1+1=1. Операцию логического сложения по-другому называют операцией ИЛИ (английское название OR). Таким образом, к битам, хранящимся в регистре DDRD, прибавляется двоичное 100, представленное в 8-битном регистре микроконтроллера как 00000100, и результат записывается обратно в регистр DDRD.
Чтобы сконфигурировать отдельно вывод PD2 как вход, нам необходимо в соответствующий бит регистра DDRD записать 0. Для этого применяют следующую конструкцию.
|
||||
|