如何将整数或十进制变量转换为十六进制字符串?我可以做相反的事情(将十六进制转换为int),但我无法找到另一种方式。
这适用于数组中的Serial.print()
十六进制值。
答案 0 :(得分:20)
查看Arduino字符串教程here。下面的代码来自该示例。
// using an int and a base (hexadecimal):
stringOne = String(45, HEX);
// prints "2d", which is the hexadecimal version of decimal 45:
Serial.println(stringOne);
该页面上还有很多其他示例,但我认为对于浮点数,您必须自己动手。
答案 1 :(得分:7)
有一个简单的解决方案,只需使用:
Serial.print(yourVariable, HEX);
答案 2 :(得分:2)
Streaming库提供了一种内置方法:
#include <Streaming.h>
...
Serial << "45 in hex is " << _HEX(45) << endl;
您需要从http://arduiniana.org/libraries/streaming/下载资料库并将其放在Sketchbook文件夹的子目录中。菜单文件首选项将显示它的位置。
输出到LCD时也可以使用此库。