方法/步驟
-
Arduino IDE 新建代碼的方法,程序的上傳方法,大家可以參考:
http://jingyan.baidu.com/article/414eccf6a8fb9f6b431f0ab1.html
來操作
-
設置和讀取某一位
輸入代碼:
byte flags = 0; //定義位變量
void setFlag( int flagNumber)
{
bitSet(flags, flagNumber);//設定變量flags的flagNumber位為1
}
void clearFlag( int flagNumber)
{
bitClear(flags, flagNumber);//設定變量flags的flagNumber位為0
}
int getFlag( int flagNumber)
{
return bitRead(flags, flagNumber);//傳回變量flags的flagNumber位
}
void setup()
{
Serial.begin(9600);
showFlags();
setFlag(2);
setFlag(5);
showFlags();
clearFlag(2);
showFlags();
}
void loop()
{}
//回傳哪些位被設置了
void showFlags()
{
for(int flag=0; flag < 8; flag++)
{
if(getFlag(flag) == true)
Serial.print("* bit set for flag ");
else
Serial.print("bit clear for flag ");
Serial.println(flag);
}
Serial.println();
}
-
輸出效果如下圖所示,輸出結果中顯示了在程序執行過程中被改變的位
-
提取整數中的高位或者低位
輸入代碼:
int intValue = 258; // 258 的 16 進制為 0x102
void setup()
{
Serial.begin(9600);
}
void loop()
{
int loWord,hiWord;
byte loByte, hiByte;
hiByte = highByte(intValue); //取出 intValue 的高位
loByte = lowByte(intValue); //取出 intValue 的低位
Serial.println(intValue,DEC);
Serial.println(intValue,HEX);
Serial.println(loByte,DEC);
Serial.println(hiByte,DEC);
delay(10000);
}
-
輸出效果如下圖所示,分別通過串口打印輸出了變量的十進制數值、16進制數值、低位和高位
-
將高位和低位結合
輸入代碼:
int intValue = 0x102; // 十進制 258
void setup()
{
Serial.begin(9600);
}
void loop()
{
int loWord,hiWord;
byte loByte, hiByte;
hiByte = highByte(intValue);
loByte = lowByte(intValue);
Serial.println(intValue,DEC);
Serial.println(loByte,DEC);
Serial.println(hiByte,DEC);
loWord = word(hiByte, loByte);
Serial.println(loWord,DEC);
delay(10000);
}
-
輸出效果如下圖所示,輸出分別為定義的整數值,低位值,高位值,組合后的整數值