Преобразовать целое / десятичное число в шестнадцатеричное на Arduino?

как можно преобразовать целочисленную или десятичную переменную в шестнадцатеричную строку? Я могу сделать наоборот (преобразовать hex в int), но я не могу понять другой способ.

Это Serial.print() hex значений в массиве.

3 ответов


взгляните на учебник Arduino String здесь. Приведенный ниже код взят из этого примера.

// using an int and a base (hexadecimal):
stringOne =  String(45, HEX);   
// prints "2d", which is the hexadecimal version of decimal 45:
Serial.println(stringOne);  

на этой странице есть много других примеров, хотя я думаю, что для чисел с плавающей запятой вам придется свернуть свои собственные.


есть простое решение, просто использовать:

Serial.print(yourVariable, HEX);

на потокового библиотека предоставляет встроенный способ сделать это:

#include <Streaming.h>
...
Serial << "45 in hex is " << _HEX(45) << endl;

вам нужно будет загрузить библиотеку изhttp://arduiniana.org/libraries/streaming/ и поместите его в подкаталог папки Sketchbook. Меню File-Preferences покажет вам, где это находится.

эта библиотека также может использоваться при выводе на ЖК-дисплеи.