Я работаю над школьным проектом и должен изучить основы C с контроллером atmega AVR.
Я не понимаю, как все настроено. Например, PORTB, PORTD, DDRB; DDRD, PINB, PIND и тому подобное. И я не знаю, как все работает с операторами if, while и т.д.
Может кто-нибудь дать мне короткое объяснение, пожалуйста?
У меня есть несколько строк кода...
DDRB = 0b00000011; // I know that here DDRB is set to input/output
И инструкция if:
if (PINB & (1 << PINB0)){
A = true;
}
Может ли кто-нибудь объяснить мне, как работает это выражение if? Почему PINB & (1<< PINB0))
?
Спасибо