AVR中的运算符<< >> |

之前一直不知道这样写是什么意思

ADCSR = (1 << ADEN) | (1 << ADSC) | (1 << ADIE) | ADC_PRESCALER;

ADCSR &= ~(1<

位非互斥 OR 运算符:|

位包含 OR 运算符会将 | 其第一个算子每个位与第二个算子的对应位进行比较。 如果其中一个位元是 1,则对应的结果字节设为 1。 否则,对应的结果位会设为 0。
运算符的两个算子都必须有整数类数据类型。 标准转换中涵盖的一般算术转换适用于运算符。

左移和右移运算符(和 << >>)

位移位运算符是的右移运算符>> ,可将整数或列举型别运算式的位向右移动,而左移运算子 (<<),后者会将位向左移动。

按位和赋值 (&=)

按位 AND 赋值运算符 () 使用两个操作数的二进制表示形式,对它们执行按位 AND 运算,并将结果赋值给变量。&=

你可能感兴趣的:(ATMEGA8,c语言)