порты напрямую

dmitriykisliy
Offline
Зарегистрирован: 03.03.2015

Объясните разницу между (для пина d9 328 чипа)



PORTB |= 1<<1; 
PORTB &= ~(1<<1);

и



PORTB = B00000010;
PORTB = B00000000;

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

в первом случае вы устанавливаете/сбрасываете толко бит 1 регистра, без изменения остальных
во втором случае - изменяете все 8 битов

dmitriykisliy
Offline
Зарегистрирован: 03.03.2015

спс

dmitriykisliy
Offline
Зарегистрирован: 03.03.2015

просто когда в скетче добавляю дополнительную строку

PORTB &= ~(1<<1);

значения d9 инвертируются

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

dmitriykisliy пишет:

просто когда в скетче добавляю дополнительную строку

PORTB &= ~(1<<1);

значения d9 инвертируются

нет, не инвертируется.... это команда принудительной установки бита_1 в "0" независимо от того что там было - "0" или "1"
а вам что нужно сделать с этим битом ?

dmitriykisliy
Offline
Зарегистрирован: 03.03.2015

значит сам где-то натуканил(

спасибо