由于博主最近在做一个项目,需要采集不同传感器的数据,包括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进制等。

功能:把一个整数转换为字符串。

Arduino中数据类型转换 int转换为char 亲测好使,itoa()函数的更多相关文章

  1. Arduino中数据类型转换 float/double转换为char 亲测好使,dtostrf()函数

    如何轻松玩转Arduino单片机,当我在进行数据转换的时候,遇到了问题,尝试了C语言和C++中的好多函数,都没有达到将float型数据转换为char型的目的.苦苦查阅资料后,终于找到了一个大神级函数! ...

  2. Java中数据类型转换&基本类型变量和对象型变量

    1.Java的数据类型分为三大类 布尔型,字符型和数值型 其中数值型又分为整型和浮点型 2.Java的变量类型 布尔型 boolean 字符型 char 整型    byte,short,int,lo ...

  3. PHP中数据类型转换的三种方式

    PHP中数据类型转换的三种方式 PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: 1.(int).(integer):转换成整形2.(float).(double).(real):转换成 ...

  4. JS中数据类型转换

    JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 obj ...

  5. JavaScript中数据类型转换总结

    JavaScript中数据类型转换总结 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = " ...

  6. HQL语句中数据类型转换,及hibernate中createQuery执行hql报错

    一.HQL语句中数据类型转换: 我们需要从数据库中取出序号最大的记录,想到的方法就是使用order by子句进行排序(desc倒序),然后取出第一个对象,可是当初设计数据库时(我们是在原来的数据库的基 ...

  7. Android蓝牙自动配对Demo,亲测好使!!!

    蓝牙自动配对,即搜索到其它蓝牙设备之后直接进行配对,不需要弹出配对确认框或者密钥输入框. 转载请注明出处http://blog.csdn.net/qq_25827845/article/details ...

  8. Android蓝牙自动配对Demo,亲测好使!!!(转)

    蓝牙自动配对,即搜索到其它蓝牙设备之后直接进行配对,不需要弹出配对确认框或者密钥输入框. 转载请注明出处http://blog.csdn.net/qq_25827845/article/details ...

  9. Java基础知识强化22:Java中数据类型转换

    数据类型转换: (1). 自动转换 低级变量可以直接转换为高级变量,这叫自动类型转换.比如: byte b: int b:  long b:  float b:   double  b: 上面的语句可 ...

随机推荐

  1. SNMP:简单网络管理协议

    基于 TCP/IP 的网络管理包括两部分:网络管理站 (manager) 和被管理的网络单元(被管设备).这些被管设备的共同点就是都运行 TCP/IP 协议.管理进程和代理进程之间的通信有两种方式,一 ...

  2. [转]git merge 跟 git merge -no-ff

    根据这张图片可以看出 git merge –no-ff 可以保存你之前的分支历史.能够更好的查看 merge历史,以及branch 状态. git merge 则不会显示 feature,只保留单条分 ...

  3. 性能测试之Jmeter学习(二)

    一.Jmeter的基本操作 1.添加|移除测试元件 2.加载和保存测试元件 3.配置测试对中的测试元件 4.保存测试计划 5.运行测试计划 6.终止测试 7.错误报告 二.Jmeter体系结构 注释: ...

  4. HDOJ-2160

    母猪的故事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  5. Laravel中的模型的创建

    <?phpnamespace App; use Illuminate\Database\Eloquent\Model; class Admin extends Model{ //指定表名 pro ...

  6. windows ping得通,连接不上网

    这是被电脑安装的软件拦截的现象,我们只需要使用.   netsh winsock reset   重启电脑即可

  7. 参考手册(html css)

    HTML CSS DOM XML DOM   XML DOM Document JavaScript JavaScript RegExp JSP

  8. vue.eslintrc.js常用配置

    vue.eslintrc.js module.exports = { root: true, env: { node: true }, extends: [ "plugin:vue/esse ...

  9. JAG Practice Contest for ACM-ICPC Asia Regional 2016B题【BFS】

    题意: 就是公主要逃跑,士兵要抓公主,问你能不能逃跑哇: 思路: 就是终点搞成起点,然后BFS一下就好了,最后枚举一下出口到公主的距离是不是<所有的到士兵的距离: #include <bi ...

  10. NGUI研究院之UISprite和UITexture浅谈

    NGUI的三大组件,UILabel.UISprite.UITexture,它们三个同时都继承UIWidget.先回到一个很郁闷的话题上,到底是优化DrawCall还是优化内存. UISprite : ...