单片机/MCU论坛
直播中

longrenwenzi

12年用户 28经验值
擅长:控制/MCU
私信 关注
[问答]

单片机大小端数据处理问题

最近做通讯的时候发现51单片机属于大端类型,而STM32等单片机属于小端,之前从没有注意过这个问题,我的数据处理一般都是这样的
int buffer[4] = {0x00111,0x0022,0x0033,0x0044};
char *ptr = buffer;
发送数据的话直接操作ptr就可以了,现在考虑到单片机的大小端问题,如果我在这样发送是不是就会出现问题,没有合适的单片机,自己无法验证。
想问下大家,如果存在问题,我还想用指针的方法,该如何处理?

回帖(3)

Ansersion

2018-4-26 10:53:39

最佳答案

本帖最后由 Ansersion 于 2018-4-27 09:08 编辑

是的,会出问题的。
所有一个叫“网络字节序”的概念,就是为了统一网络上信息传输格式。
这个“网络字节序”也就是大端法。
所以建议使用大端法传输数据,小端设备需要将数据先转换成大端格式再发送。
举报

勇哥-lzu

2018-4-26 16:12:44
在单片机的发送或者接收端做个大小端转换
举报

alonggege

2019-7-27 08:09:41
不错,很好的经验分享,辛苦麻烦了,欠缺这方面的资料,非常感谢。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分