本文目录一览:
单片机C语言中x[0]=x[0]|0x01什么意思?
x[0]=x[0] | 0x01是让x[0]这个数的第0位为1,其它为保持不变,然后赋值回给x[0]。
|是c语言中的或运算符,是二进制位运算符,两个数要计算的位都为0结果是0,只要有一个数计算位是1结果为1。
C语言中&0x01是什么意思?
在C语言中,可以用作取地址和按位与操作两种运算。不过取地址是针对变量的,当前后是一个常量,在C语言中不允许取地址操作,所以这个是语句的一部分,前面还要有一个操作变量。比如
a0x01
是双目操作符,需要两个操作数,代表含义为按位与操作。
计算时,按位计算,两个操作数上对应位的值如果均为1,则结果对应位上值为1,否则结果对应位上值为0。
分析操作数0x01的二进制值为0000 0001,综合按位与的运算规则,可以知道除最低位外,结果值为0,最低位结果与前一个操作数的最低位相同。
于是a0x01就是取a的最低位值的运算。
单片机C语言编程中P1SEL &= ~0x01怎么解释?什么意思
P1SEL = ~0x01; //设置p1.0端口为普通IO口 ,0为IO口 1为外设。
等价于
P1SEL = P1SEL ~0000 0001;
等价于
P1SEL = P1SEL 1111 1110;
我们先假设 P1SEL = 1111 1111
那么
P1SEL = 1111 1111 1111 1110;
P1SEL = 1111 1110
我们再假设 P1SEL = 0000 0000
那么
P1SEL = 0000 0000 1111 1110;
P1SEL = 0000 0000
综上所述:我们发现 无论P1SEL等于任何值 P1SEL = ~0x01 的作用,就是将最低位 P1_0 置0,其他位不变 。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/201097.html