在Arduino上将整数/小数转换为十六进制?

时间:2011-04-18 12:33:01

标签: arduino

如何将整数或十进制变量转换为十六进制字符串?我可以做相反的事情(将十六进制转换为int),但我无法找到另一种方式。

这适用于数组中的Serial.print()十六进制值。

3 个答案:

答案 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时也可以使用此库。