Преобразовать целое / десятичное в шестнадцатеричное на Arduino? - PullRequest
6 голосов
/ 18 апреля 2011

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

Это для Serial.print() шестнадцатеричных значений в массиве.

Ответы [ 3 ]

20 голосов
/ 18 апреля 2011

Взгляните на учебник по 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);  

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

7 голосов
/ 14 сентября 2011

Есть простое решение, просто используйте:

Serial.print(yourVariable, HEX);
2 голосов
/ 09 мая 2011

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

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

Вам потребуется загрузить библиотеку из http://arduiniana.org/libraries/streaming/ и поместить ее в подкаталогвашей папки Sketchbook.Меню «Настройки файла» покажет вам, где это находится.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...