В последний раз, когда я посмотрел, у Arduino нет хорошего способа печати других форматов, например, с помощью printf (). Поэтому вам придется самостоятельно преобразовать в hex или найти существующую функцию, которая делает это, превращая реальные целые числа в представления шестнадцатеричных символов. Вот один из способов:
Я предполагаю, что "24 бит" - это значения RGB, и это 3 8-битные числа от 0 до 255, как обычно. В этом случае у вас будет две цифры шестнадцатеричного числа для каждого десятичного числа. Проиллюстрируем это R = 243.
Первая шестнадцатеричная "цифра" будет h1 = int(R/16)
, что составляет 15.
Другой будет h2 = R - h1*16
, что составляет 3.
Но эти "цифры" все еще являются десятичными числами. Так что имейте таблицу поиска в массиве, например, где индексом массива является десятичное число, а значением является шестнадцатеричный символ.
Так, например, у вас будет lookup[15] = 'F'
и lookup[3] = '3'
.
Просто распечатайте все эти цифры без пробелов, и все готово.