メインコンテンツに移動

ビットバイト操作

ビットバイト操作

ビット演算やバイト演算をするためのライブラリです。

lowByte

概要
下位1バイトを取り出します。例えばパラメータとして0x1234を与えた場合、0x34を取り出せます。
文法
lowByte(x)
パラメータ
x: 任意の値
戻り値
1バイトの値(unsigned char)

highByte

概要
上位1バイト目を取り出します。例えばパラメータとして0x1234を与えた場合、0x12を取り出せます。
文法
highByte(x)
パラメータ
x: 任意の値
戻り値
1バイトの値(unsigned char)

bitRead

概要
指定したビットを読み取ります。
文法
bitRead(x, n)
パラメータ
x: 任意の値
n: 読み取るビット位置
戻り値
ビット値(0か1)

bitWrite

概要
指定したビットに書き込みます。
文法
bitWrite(x, n, b)
パラメータ
x: 任意の値
n: 書き込むビット位置
b: 書き込むビット値
戻り値
なし

bitSet

概要
指定したビットに1を書き込みます。
文法
bitSet(x, n)
パラメータ
x: 任意の値
n: 1を書き込むビット位置
戻り値
なし

bitClear

概要
指定したビットに0を書き込みます。
文法
bitClear(x, n)
パラメータ
x: 任意の値
n: 0を書き込むビット位置
戻り値
なし

bit

概要
指定ビット位置の値を返します。ビット0なら1、ビット1なら2、ビット2なら4。
文法
bit(n)
パラメータ
n: ビット位置
戻り値
ビットの値

サンプルプログラム

lowByte, highByteのサンプル。


#include <Arduino.h>
void setup()
{
    uint16_t data = 0x1234;
    Serial.begin(9600);
    while(!Serial.available()); // wait to key press.
    Serial.println(data, HEX);
    Serial.println(lowByte(data), HEX);
    Serial.println(highByte(data), HEX);
}
  
void loop()
{
}