首先给出结论:STM32是小端存贮
大小端,只对多字节数据有意义。平时我们接触到 ,除了char类型,基本都是多字节了。
所谓小端,就是低字节存在低地址部分,高字节存在高地址部分。
举个例子,在STM32中:
uint8 buf[2] = {0x12,0x34};
// 低地址,高地址
uint16 i = *(uint *)buf;//把无符号字节型数组的地址强行转换为16位整形的指针,并将其内容拷贝给变量i
这时候,i的值为0x3412。
=========================
51机是大端存贮。在51机里,同样的代码,i的值就是0x1234
如果您将来接触到一些通讯协议,请留意,但凡涉及多字节数据时,协议里必须指出高低位的顺序。