Basic Library
Digital I/O
Analog I/O
Advanced I/O
Time
Math
Trigonometry
Random Numbers
Bits and Bytes
Interrupts
Communication
Standard Library
Servo Motor
Stepper
Liquid Crystal
EEPROM
SPI
I2C (Wire)
SD Card
SD Card (File Control)
Ethernet
Ethernet (Server)
Ethernet (Client)
Firmata
Periodic Operation
Power Save
Clock (RTC)
SoftwareSerial
Utility
Bits and Bytes
This library is for extracting the byte of a variable and accessing a bit of a number etc.
lowByte
Description
Extracts the low-order (rightmost) byte of a variable.
Syntax
lowByte(x)
Parameters
x: A value of any type
Returns
Byte (unsigned char).
highByte
Description
Extracts the high-order (leftmost) byte of a word (or the second lowest byte of a larger data type).
Syntax
highByte(x)
Parameters
x: A value of any type
Returns
Byte (unsigned char).
bitRead
Description
Reads a bit of a number.
Syntax
bitRead(x, n)
Parameters
x: The number from which to read
n: Which bit to read, starting at 0 for the least-significant (rightmost) bitReturns
The value of the bit (0 or 1).
bitWrite
Description
Writes a bit of a numeric variable.
Syntax
bitWrite(x, n, b)
Parameters
x: The numeric variable to which to write
n: Which bit of the number to write, starting at 0 for the least-significant (rightmost) bit
b: The value to write to the bit (0 or 1)Returns
None
bitSet
Description
Sets (writes a 1 to) a bit of a numeric variable.
Syntax
bitSet(x, n)
Parameters
x: The numeric variable whose bit to set
n: Which bit to set, starting at 0 for the least-significant (rightmost) bitReturns
None
bitClear
Description
Clears (writes a 0 to) a bit of a numeric variable.
Syntax
bitClear(x, n)
Parameters
x: The numeric variable whose bit to clear
n: Which bit to clear, starting at 0 for the least-significant (rightmost) bitReturns
None
bit
Description
Computes the value of the specified bit (bit 0 is 1, bit 1 is 2, bit 2 is 4, etc.).
Syntax
bit(n)
Parameters
n: The bit whose value to compute
Returns
The value of the bit.
Example
Byte control.
#include <Arduino.h>
void setup(){
Serial.begin(9600);
uint16_t original_data = 0b1111000010100101;
Serial.println("BIN");
Serial.print("original:\t");
Serial.println(original_data, BIN);
Serial.print("lowByte:\t");
Serial.println(lowByte(original_data), BIN);
Serial.print("highByte:\t");
Serial.println(highByte(original_data), BIN);
Serial.println("HEX");
Serial.print("original:\t");
Serial.println(original_data, HEX);
Serial.print("lowByte:\t");
Serial.println(lowByte(original_data), HEX);
Serial.print("highByte:\t");
Serial.println(highByte(original_data), HEX);
}
void loop(){
}