bet36365官网是什么_bet36365体育在线APP

当前位置:主页 > 365bet客服电话 >
[创建一个好例子]MCU最终模式示例
发布日期:2019-03-19
最终模式,大端,小端?我联系的第一件事是当UART发送结构数据时,也许我在这里猜到了一些东西。
Endian这个词来自Jonathan Swift写的Gulliver's Travels,这本书根据如何解除鸡蛋的分类将每个人分为两类。那些从圆头上击败鸡蛋的人被归类为大端,那些从尖端击败鸡蛋的人被归类为Littile.Endian。Big-endian或little-endian在计算机行业,big-endian和little-endian也引起了近乎战争,但在计算机行业中,endianness表示数据存储在内存中的顺序。计算机中大模式和小模式之间的区别。
下表显示了32位数据在big-endian模式和little-endian模式下逐字节存储的顺序(HH是32位数据的最高有效字节,LL是最低有效字节)。
从上表中可以看出,在big-endian模式下,多字节数据从高位字节存储到低位字节,反之亦然。我们将分别用STM32F103和STM8S103K4进行简单的实验,以便每个人都能理解并吸引更多的关注。
定义结构类型,如下所示。
将以下程序写入STM8S105K4。
模拟结果:在最终模式转换之前将存储器复制到结构矩阵的结果。
仿真结果:最终模式转换后存储器复制到结构矩阵的结果
将以下程序写入STM32F072(结构定义与上面相同)。
模拟结果:在最终模式转换之前将存储器复制到结构矩阵的结果。
仿真结果:最终模式转换后存储器复制到结构矩阵的结果
从以前的实验中,我们通过在复制端到端转换存储器之前比较STM8S105K4和STM32F072的结果得出结论。
1. STM8S105K4使用大端模式。也就是说,32位或16位数据按高字节到低字节的顺序存储在存储器中。STM32F072使用小端模式。也就是说,32位或16位数据按从低字节到高字节的顺序存储在存储器中。
这也证明了先前的说法,即不同处理器使用的最终模式可能不同,因此在编写一些外部设备驱动程序或通过通信协议驱动时,你需要考虑最终模式。要执行转换,请参阅以下代码:
当然,您也可以在没有最终模式转换的情况下逐个字节地直接选择存储,但这里不会对此进行太多讨论,因为它会显着降低代码效率。
[注意]:在上面和前面的图中,一些注释表示最终模式转换,而不是最终模式转换。
******这个产品怎么样?您也可以单击左下角的[编写注释]。注意公众号,微博“电子世界”,或访问“http://www.eepw.com.cn/”。