Я хочу записать шестнадцатеричное число в последовательном мониторе, и это нужно преобразовать в десятичный int.Arduino create dec из HEX
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');
}
Почему это не работает? Если я пишу FFFFFF
показывает:
F
FF
FFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
Пожалуйста, покажите больше кода, это, кажется, внутренняя часть некоторого цикла. –
Что такое '55' ???? –
Попробуйте unsigned int для переменной цвета. – linuxfan