嵌入式编程:平台大小端存储差异解决办法

企业新闻 | 2021-01-01

至于大小端存储的问题,在嵌入式研发中并不是什么新鲜事,作为开发人员,他们有着清醒的认识,所以我们可以对嵌入式研发中的大小端做一个非常简单的分享总结,大小端和内存做对比。网上有很多博文和百科知识点,我在这里重复一下。在工程项目中,需要处理尺寸和端部的差异,这种差异经常发生在数据处理过程中。少见的有:1。

LOL2020全球总决赛竞猜平台

数据包分析和数据包组装;2.数据传输和参数传输。数据包分析和包组装的过程,参见本文《嵌入式硬件通信接口协议UART(四)设计起止式的应用层协议》“设计协议帧结构”,讲的是用UINT 16 _ T字段的数据进行两次UINT 8 _ T数据表示。但是有些模块是别人设计的,你不能“乖乖地”作为一个应用程序来使用。在C语言中,强制切换可以用来构造数据类型的切换,但是强制切换的结果取决于当前平台大小终端的情况。

LOL平台外围

以下类型强制切换:uint8 _ t类型的buf中的数据流强制改为uint16 _ t类型,然后赋给tmp_dat变量。根据仔细的观察,发现buf中的数据流每2个字节被“分组”成uint16 _ t类型的数据。Debug过程的图片如下:代码中的p1是uint16 _ t类型的指针,指向uint8 _ t类型数据流的tmp。

在for循环中,p1指针作为“起点”将数据移入循环,每次都要移动uint16 _ t类型的数据宽度,因为p1是uint16 _ t类型指针。。

本文来源:平台|官网-www.aidemeng.com