arduino bit

#define bitRead(value, bit) (((value) >> (bit)) & 0x01)
#define bitSet(value, bit) ((value) |= (1UL << (bit)))
#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
 

bitSet()

描述

为一个数字变量设置一个位。

语句

bitSet(x, n)

语法

X:想要设置的数字变量
N:想要设置的位,0是最重要(最右边)的位

返回

 

bitRead()

描述

读取一个数的位。

语法

bitRead(x, n)

参数

X:想要被读取的数

N:被读取的位,0是最低有效位(最右边)

返回

该位的值(0或1)。

 

 

bitClear()

描述

清除一个数值型数值的指定位(将此位设置成 0)

语法

bitClear(x, n)

参数

X:指定要清除位的数值

N:指定要清除位的位置,从0开始,0 表示最右端位

返回值

 

bitWrite()

描述

在位上写入数字变量。

语法

bitWrite(x, n, b)

参数

X:要写入的数值变量
N:要写入的数值变量的位,从0开始是最低(最右边)的位
B:写入位的数值(0或1)

返回

 

Arduino语法-位操作

函数列表

  • lowByte()
  • highByte()
  • bitRead()
  • bitWrite()
  • bitSet()
  • bitClear()
  • bit()

位操作说明

#define  lowByte(w)   ((w) & 0xff) 
  //取低字节 

#define  highByte(w)   ((w) >> 8) 
  //取高字节 

#define  bitRead(value, bit)   (((value) >> (bit)) & 0x01) 
  //读一个bit 

#define  bitWrite(value, bit, bitvalue)   (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) 
  //写一个bit 

#define  bitSet(value, bit)   ((value) |= (1UL << (bit))) 
  //设置一个bit 

#define  bitClear(value, bit)   ((value) &= ~(1UL << (bit))) 
  //清空一个bit 

#define  bit(b)   (1 << (b)) 
  //生成相应bit 
posted @ 2020-03-14 08:35  chenlife  阅读(652)  评论(0)    收藏  举报