如何找到微控制器是大端还是小端?
没有微控制器规范,如何知道控制器是大端还是小端?
尝试这个,
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 系统。
你没有规格!?你可以从网上下载...
如果您可以在此控制器上运行调试器,您可以将 0x1234 写入某个 RAM 地址并在内存窗口中查看结果:
IE 将 0x1234 写入 0x2000 会导致:
0x2000 = 0x12 , 0x2001 = 0x34 --> 大端
0x2000 = 0x34 , 0x2001 = 0x12 --> 小端