友情提示:380元/半年,儿童学编程,就上码丁实验室。
Byte数据类型
byte数据类型 占用一个字节的存储空间,取值范围在0到255之间。
byte数据类型可以用来存储二进制数据,很方便。
下面定义一个byte数据类型的变量:
byte outputs=B11111111
前面的B是告诉arduino将该变量读成二进制数字,而不是十进制的255。
例子:
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
for(int i=0;i<256;i++)
{
Serial.print(“base-10:”);
Serial.println(i,DEC);
Serial.print(“base-2:”);
Serial.println(i,BIN);
delay(100);
}
}
串口输出结果如图:
位操作函数:
bitRead() 函数读取一个数的位。
bitRead(x, n) ,X:想要被读取的数;
n:被读取的位,0是最重要(最右边)的位,该位的值为0或1
bitWrite() 函数在位上写入数字变量
bitWrite(x, n, b) X:要写入的数值变量;
n:要写入的数值变量的位,从0开始是最低(最右边)的位
b:写入位的数值(0或1)
例子:
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
byte a=B10101010;
void loop() {
// put your main code here, to run repeatedly:
int msb=bitRead(a,0);
int lsb=bitRead(a,7);
Serial.print(“MSB:”);
Serial.println(msb);
Serial.print(“LSB:”);
Serial.println(lsb);
delay(500);
for(int i=0;i<7;i++)
{
bitWrite(a,i,0);
}
Serial.print(“a=”);
Serial.println(a,BIN);
delay(500);
}
运行结果如下:
MSB:0
LSB:1
a=10000000
MSB:0
LSB:1
a=10000000
MSB:0
LSB:1
a=10000000
MSB:0
LSB:1
a=10000000
MSB:0
LSB:1
a=10000000
………..