写在正文前的话
今天在书上看到Arduino语言的相关资料时,书本用两行代码表示了在传统AVR单片机开发中,将一个I/O口设置为输出高电平状态下需要以下操作:
DDRB |= (1<<5);
PORTB |= (1<<5);
其中PORTB和DDRB都是AVR单片机中的寄存器。
我在上半学期上嵌入式的课的时候,还有好多同学不知道这些逻辑运算符到底表示什么意思,就在这解释一下。(以后的文章碰到有关C语言或者硬件的知识点,我也会写在文中或下一次的正文前)
常见的三种基本运算:
运算符 | 中文意思 |
---|---|
&= | 与运算 |
^= | 异或运算 |
1 = | 或运算 |
P.S. 这里的或运算符打不出来,论坛的编辑器会自动转成表格,一次用1代替。
&=
x=0x02;//0x02
x&=0x01;//0x01
//0x00按位与后的结果
这里的x &= 0x01 可以看成 x= x & 0x01, 与运算可以看为是按位进行乘法。
|=
x=0x02;//0x02
x&=0x01;//0x01
//0x03 按位或运算的结果
</