Не могу понять, как работает это:
int main() {
pinMode(13, OUTPUT);
while(1) {
PORTB |= 0x20;
PORTB &= ~0x20;
}
}
сначала думал, точно так же как это:
int main() {
pinMode(13, OUTPUT);
while(1) {
digitalWrite(13, HIGH);
digitalWrite(13, LOW);
}
}
но загрузил в симулятор Atmel Studio и увидел, что регистры порта переключаются по-разному в этих двух случаях (при пошаговой отладке). В первом примере регистры PORTB и PINB переключаются поочередно, а во втором - одновременно (после каждой строчки). Понимаю, что чего-то не понимаю, а чего не понимаю - не понимаю.
P.S.
А линукс тут при том, что утилита «оффтопик 8.1» работает гостем под KVM