Arduino 函数的位操作

 时间:2026-02-14 15:09:45

1、Arduino IDE 新建代码的方法,程序的上传方法,大家可以参考:

http://jingyan.baidu.com/article/414eccf6a8fb9f6b431f0ab1.html

来操作

Arduino 函数的位操作

2、设置和读取某一位

输入代码:

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();

}

Arduino 函数的位操作

3、输出效果如下图所示,输出结果中显示了在程序执行过程中被改变的位

Arduino 函数的位操作

4、提取整数中的高位或者低位

输入代码:

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); 

}

Arduino 函数的位操作

5、输出效果如下图所示,分别通过串口打印输出了变量的十进制数值、16进制数值、低位和高位

Arduino 函数的位操作

6、将高位和低位结合

输入代码:

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); 

}

Arduino 函数的位操作

7、输出效果如下图所示,输出分别为定义的整数值,低位值,高位值,组合后的整数值

Arduino 函数的位操作

  • 【Snipaste】怎么在界面中显示操作提示
  • 便宜实用又能提高幸福感的女性生活用品
  • oppo连点三下放大怎么关闭
  • 医用胶带持粘性的测试操作步骤
  • 钉钉对外名片怎么设置
  • 热门搜索
    什么是红筹股 目赤是什么意思 生化流产是什么意思 七零八落什么意思 什么去痘印 蚕食的意思 鲍鱼是什么意思 顿首是什么意思 留恋的意思 什么事便秘