我想在串行监视器中写一个十六进制数字,这应该转换为十进制int.
LCDShield lcd;
byte byteR;
int color = 0;
if (Serial.available()) {
int number;
byteR = Serial.read();
if (byteR >= 'A') {
number = byteR - 55;
} else {
number = byteR - '0';
}
color = (color * 16) + number;
Serial.print(color, HEX);
Serial.write('\n');
}
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?如果我写FFFFFF它显示:
F
FF
FFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
Run Code Online (Sandbox Code Playgroud) arduino ×1