大端模式和小端模式
最近在用EZ-USB cy7c68013传输相机数据的时候,发现上位机PC接受并保存的16位数据,是高8位在后,低8位在前,和平时的习惯不一样,这才想起x86体系的cpu是小端模式,存储16位或32位数据时,低地址存放低有效位,高地址存储高有效位。
我们可以用下面的一段程序测试自己所用cpu或mcu等是大端模式还是小端模式。
#include <stdio.h>
int main()
{
int x;
char a,b;
x=0xaabb;
a=((char *)&x)[0];
b=((char *)&x)[1];
printf("a is %x/n,b is %x",a,b);
return 0;
}