请教AVR的I/O设置问题
为什么我对单片机IO口直接写0,结果逻辑就有错误,1602没有办法正常显示,如果先写1再取反就可以了。例如PORTB&=~(1<<PB4)可以,但是PORTB&=(0<<PB4)就不可以了? >> 但是PORTB&=(0<<PB4)就不可以了?因(0<<PB4)=0, 所以PORTB = PORTB & 0,即全个 PORTB 致零。
但 ~(1<<PB4) = ~(00010000) = 11101111 ,PORTB&=~(1<<PB4) 即单独把 PB4 位清零,对 PORTB 其它位元无影响。 alias 发表于 2014-7-20 14:44
>> 但是PORTB&=(0
不是按位与吗,你那样的话不是逻辑与吗? alias 发表于 2014-7-20 14:44
>> 但是PORTB&=(0
我想通了,谢谢啊
页:
[1]