由于博主最近在做一个项目,需要采集不同传感器的数据,包括float型的HCHO,以及int型的PM2.5数据。但是最终向服务器上传的数据都得转换为char型才能发送,这是借鉴了一个github上面的实例实现了在Arduino上部署socket使之与服务器进行交互。
github实例如下:
https://github.com/washo4evr/Socket.io-v1.x-Library
在本项目中多次使用了数据类型转换,前文提到了float和double类型转换为char,如下:http://blog.csdn.net/qq_25827845/article/details/50717522
这里分享一种int -char的方法:
代码如下:
void setup() { // put your setup code here, to run once: Serial.begin(9600); int number = 12; char string[25]; itoa(number, string, 10); Serial.println(string); char s[] = "ababababbaabababab////"; strcat(s, string); Serial.println(s); } void loop() { // put your main code here, to run repeatedly: }这是Arduino IDE开发环境中的代码,输入结果将是:
12 ababababbaabababab////12
实现了类型转换,主要使用 stdlib.h 中的 itoa() 函数来实现。在C语言编译环境下,需要导入#include <stdlib.h>库,但是Arduino IDE中不需要进行导入库。
函数itoa()原型
char *itoa(int value, char *string, int radix);
原型说明:
原型说明:
value:欲转换的数据。
string:目标字符串的地址。
radix:转换后的进制数,可以是10进制、16进制等。
功能:把一个整数转换为字符串。