enum class bytePos
{
LOW_BYTE,
HIGH_BYTE
};
auto byteSelect16(bytePos pos, uint16_t uiInput) -> uint8_t;
uint16_t uiTest = 0xE402;
void setup() {
Serial.begin(9600);
byte by = byteSelect16(bytePos::LOW_BYTE, uiTest);
Serial.println("Low Byte: "+ String(by));
by = byteSelect16(bytePos::HIGH_BYTE, uiTest);
Serial.println("High Byte: "+ String(by));
}
void loop() {
// put your main code here, to run repeatedly:
}
auto byteSelect16(bytePos pos, uint16_t uiInput) -> uint8_t
{
switch (pos)
{
case bytePos::LOW_BYTE:
return uiInput & 0xFF;
break;
case bytePos::HIGH_BYTE:
return (uiInput >> 8) & 0xFF;
break;
default:
return 0xFF;
break;
}
}