DDRA |= (1 << DDA0) | (0 << DDA1);
PORTA |= (0 << PA0) | (1 << PA1);
知道这是A0输出为0,A1输入为1,
但什么原理 为什么这么写?
PORTA |= (0 << PA0) | (1 << PA1);
知道这是A0输出为0,A1输入为1,
但什么原理 为什么这么写?
2013-08-13 09:12
最佳答案
解释第二句,第一句类似。 a)0<<PA0:0左移PA0位,其结果始终为0,可忽视这句。 b)1<<PA1:1左移PA1位,如果PA1=1,结果为0000 0010,如果PA1=2,结果为0000 0100。。。其他类似。 c)(0 << PA0) | (1 << PA1),a步与b步进行或运算,结果为b的结果 d)PORTA |= (0 << PA0) | (1 << PA1):PORTA与第C步结果进行或运算,并把结果赋给PORTA. 只要PORTA或第c步结果中相应位为1,结果相应位就为1.