打印
[STM32F1]

串口发送16位数据是反的

[复制链接]
2650|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bqyj|  楼主 | 2021-7-7 19:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我将ADC采到的数据存入16位数组中,然后串口依次发送字节,可是发送得到的数据是反的,比如0x0FFF,收到的两个
字节就是0xFF, 0x0F。这给我写上位机处理数据造成了困扰,这是不是大小端的问题,上位机如果直接用16位数组直接存储就可以了

使用特权

评论回复
沙发
juventus9554| | 2021-7-7 19:17 | 只看该作者

自己把发送顺序调一下就行了

使用特权

评论回复
板凳
renyaq| | 2021-7-7 19:20 | 只看该作者
按顺序存入你的16位数组里面,就会正确还原,我们常用的都是小端模式,低字节占据低地址,这个根本不是问题,只是你肉眼看上去是反的,但这就是在内存中的顺序

使用特权

评论回复
地板
heweibig| | 2021-7-7 19:21 | 只看该作者
先发高位字节,再发低位字节。

使用特权

评论回复
5
bqyj|  楼主 | 2021-7-7 19:23 | 只看该作者

楼主改成8位发送,不要用16位发送即可

使用特权

评论回复
6
wenfen| | 2021-7-7 19:26 | 只看该作者
小端模式,低字节占据低地址

使用特权

评论回复
7
zhaoxqi| | 2021-7-7 19:32 | 只看该作者

串口收到的数据肯定是对的。

使用特权

评论回复
8
zhenykun| | 2021-7-7 19:34 | 只看该作者
可能错位了。

使用特权

评论回复
9
yszong| | 2021-7-7 19:36 | 只看该作者
串口没有16位数据的。

使用特权

评论回复
10
stly| | 2021-7-7 19:38 | 只看该作者
可以使用字符串。

使用特权

评论回复
11
chenho| | 2021-7-7 19:40 | 只看该作者

你发送的数据是什么顺序

使用特权

评论回复
12
heweibig| | 2021-7-7 19:41 | 只看该作者

你怎么判断是开始发送的

使用特权

评论回复
13
jlyuan| | 2021-7-7 19:43 | 只看该作者
线找到起始位,然后发送数据。

使用特权

评论回复
14
jiahy| | 2021-7-7 19:45 | 只看该作者
线找到起始位,然后发送数据。

使用特权

评论回复
15
jiajs| | 2021-7-7 19:47 | 只看该作者
发送的字节先后顺序错误。

使用特权

评论回复
16
chuxh| | 2021-7-7 19:49 | 只看该作者
如果发送数据正确,就没有问题。

使用特权

评论回复
17
zyf部长| | 2021-7-7 19:51 | 只看该作者
将ADC转换为字符串可以直接识别。

使用特权

评论回复
18
dingy| | 2021-7-7 19:55 | 只看该作者
正好赶上!

使用特权

评论回复
19
bqyj|  楼主 | 2021-7-7 19:57 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈

使用特权

评论回复
20
木木guainv| | 2021-8-6 13:53 | 只看该作者
发送一个不一样的试试看啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

390

主题

4526

帖子

2

粉丝