sprintf在51单片机中转换字符出错问题解决
来源:互联网 发布:提醒喝水的软件 编辑:程序博客网 时间:2024/05/23 15:35
sprintf是C语言库中具有转换数据类型的功能函数,出现一种情况,
在51单片机中,定义unsigned char temp;
然后 想用串口直接把temp 以十进制数是、形式打印出来,是先这样转换的 sprintf((char*)tem,"%d",temp);即先把temp转换成十进制数字符tem,然后再通过串口输出tem,然而串口输出的竟然有乱码,而且和temp的值也不对应;
查找原因:原来%d,代表的是将int型数据转换为十进制字符的作用,既然是int型,那他占用空间为至少2个字节,那么我们定义的temp仅是unsigned char 占空间一字节,所以函数在转换时,会错误的转换temp空间外的一字节空间的数据,这是未知的数据,所以会出现打印乱码情况,那么把unsigned char temp;改为unsigned int temp 后,再次测试
果然输出正确无误!
阅读全文
0 0
- sprintf在51单片机中转换字符出错问题解决
- 在iOS中转换URL字符
- linux使用iconv在不同字符编码中转换
- 在Makefile中转换大小写
- 【转】在SOA中转换服务角色
- Convert函数在SQL中转换日期
- 【实用代码】C#中转换全半角字符的函数
- PHP 中转换 SGML 类语言为真实中文字符
- 利用OLE 自动化实现简繁体在数据库中转换
- 在LoadRunner中转换字符串大小写的C语言函数
- 如何使用GDI+在缓冲区(内存)中转换图像类型
- 如何使用GDI+在缓冲区(内存)中转换图像类型
- IOS在其他视图控制器中转换根视图控制器
- 马云如何在企业发展中转换角色
- IOS----在其他视图控制器中转换根视图控制器
- C# 如何在继承类和基类中转换?
- IOS在其他视图控制器中转换根视图控制器
- IOS在其他视图控制器中转换根视图控制器
- RecyclerView回收机制分析--“取”
- shell脚本中的eval、‘‘和$()
- 描述符表(descriptor table) 学习总结
- 王一题一题一题题
- 数据库设计范式
- sprintf在51单片机中转换字符出错问题解决
- OkHttp Wiki翻译(五)拦截器
- C#技巧:Webbrowser控件光弹出错误框怎么办?
- 初探JsonCpp
- redis-mac安装与jedis链接测试
- 开放mysql远程连接
- word2vec简单介绍
- Ubuntu/Windows下安装Kinect+Openni
- chattr与lsattr指令