_BV();

Здесь все вопросы по языку программирования С
Ответить
AVRIK
Сообщения: 141
Зарегистрирован: 24 сен 2016, 11:25
Откуда: Тбилиси

_BV();

Сообщение AVRIK » 07 авг 2018, 23:16

Здравствуйте Алексей!
Такой вопрос из азбуки: при записи DDRB|=_BV(PB0); пин B0 настраивается на выход и на нем лог1;
А при записи DDRB&=~_BV(PB0); пин B0 настроен на чтение и на нем подтягивающий резистор, правильно?
Спасибо за ответ.

Аватара пользователя
gurvinok
Сообщения: 1500
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: _BV();

Сообщение gurvinok » 08 авг 2018, 03:57

DDRB - это регистр направления порта и все. При 1 он настроен на выход, при 0 на вход. А состояние настраивается регистром PORTB. Если DDRB = 0 то при PORTB = 0 ножка висит в воздухе, а если PORTB = 1, то ножка подтягивается к питанию внутренним резистором. При DDRB = 1, порт будет выводить то, что на регистре PORTB.
Если долго мучиться, может быть получится.

Ответить