OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2024|回复: 2

如何将整形数组变成字符串输出?请指教!

[复制链接]

6

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2017-11-9
在线时间
10 小时
发表于 2017-11-21 20:18:08 | 显示全部楼层 |阅读模式
5金钱
数组 u8 a[] = {0x34,0x66,0x36,0x30};//分别对应4,f,6,0。
如何将数组a变成数组b[] = {0x4f60};
请详细说明下,最好有程序示例,谢谢!

最佳答案

查看完整内容[请看2#楼]

首先讲的是数据存储应该都是用二进制存储的,即使数组b[] = {0x4f60}是你说的这种形式,它在单片机里面也是按[/backcolor]{0x34,0x66,0x36,0x30}的形式存储着。b[]存储的时候,前面就没有0x了,它都是表示成了相应的字符形式,没理解错的话[/backcolor]应该是[/backcolor]b[] = {'4','f','6','0'}。你只是想把数组a换成相应的格式输出,直接printf语句就可以实现这个功能,printf(“%s”,a)应该就可以吧。[/backcolor]程序见图[ ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

87

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1435
金钱
1435
注册时间
2015-5-19
在线时间
132 小时
发表于 2017-11-21 20:18:09 | 显示全部楼层
首先讲的是数据存储应该都是用二进制存储的,即使数组b[] = {0x4f60}是你说的这种形式,它在单片机里面也是按{0x34,0x66,0x36,0x30}的形式存储着。b[]存储的时候,前面就没有0x了,它都是表示成了相应的字符形式,没理解错的话应该是b[] = {'4','f','6','0'}。你只是想把数组a换成相应的格式输出,直接printf语句就可以实现这个功能,printf(“%s”,a)应该就可以吧。程序见图

ASCII表

ASCII表

串口输出图

串口输出图
回复

使用道具 举报

33

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2016-2-9
在线时间
62 小时
发表于 2017-11-21 21:03:48 | 显示全部楼层
我说说我的思路,,来一个16位的变量x,然后x=((a[0]-'0')<<12) | ((a[1]-'0')<<8) | ((a[2]-'0')<<4) | (a[3]-'0');
然后不知道我有没有理解错,不知道你是想把数组a变成一个变量等于0x4f60还是转变成一个数组b={4,f,6,0}。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 15:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表