如何找到微控制器是大端还是小端?
没有微控制器规格,如何知道控制器是Big endian还是Little Endian?
答案 0 :(得分:6)
试试这个,
int x = 1;
if (*(char *)&x == 1)
printf("Little Endian [LSB first]"); // or LED1 ON
else
printf("Big Endian [MSB first]"); // or LED2 ON
我在这里做的是 -
如果我们能够在第一个索引处看到最低有效位'1',则表示它首先存储LSB,这意味着 Little Endian系统。
如果我们无法在第一个索引处看到最低有效位'1',则表示它首先存储MSB,这意味着 Big Endian系统。
答案 1 :(得分:3)
你没有规格!?你可以从网上下载......
如果你可以在这个控制器上运行调试器,你可以将0x1234写入某个RAM地址,并在内存窗口中看到结果:
I.E将0x1234写入0x2000将导致:
0x2000 = 0x12,0x2001 = 0x34 - >大端
0x2000 = 0x34,0x2001 = 0x12 - >小端