STM32是大端模式还是小端模式

大端模式和小端模式是关于多字节数在内存中存储顺序的方式。大端模式将数据的高字节存储在低地址,而小端模式则相反。STM32芯片采用小端模式,其数据低字节位于低地址。这种差异影响处理器如何解析和处理内存中的数据,特别是在跨平台编程和数据交换时。

1、为什么会有大端模式和小端模式?

在计算机系统中,数据存储是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器)。另外,对于位数大于 8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在如何将多个字节进行存储的问题,因此就区分出大端存储模式(big endian)和小端存储模式(little endian)。

2、什么是大端模式和小端模式?

大端模式:数据的高字节保存在内存的低地址中, 数据的低字节保存在内存的高地址中;
小端模式:高字节保存在高地址, 低字节保存在低地址中;

举例说明(0x1234):

地址0x08000000(低地址)0x08000001(高地址)
大端模式0x120x34
小端模式0x340x12

3、STM32是大端模式还是小端模式?

STM32是小端模式,即数据的高字节保存在高地址单元,数据的低字节保存在低地址单元,正好与我们的读数相反。例如将某些系统默认参数保存到STM32自带的FLASH中,打开Memory 视图即可看出数据的存储情况。
STM32小端存储示例

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值