我已经在XC8编译器上编译了这个简单的代码,并将十六进制文件加载到Picsimlab模拟器板(板4(中,该板具有PIC16f877a微控制器。
unsigned int x = 1;
char *ptr = (char *) &x;
if (*ptr == 1)
{
clcd_print("little Endian", LINE1(0));
}
else
{
clcd_print("big Endian", LINE1(0));
}
输出:little-endian
那么,我们可以重复Xc8编译器遵循小端字节排序系统来编程PIC16f877a吗
这是否也意味着PIC16f877a使用little-endian字节排序系统将变量存储到其数据存储器中?
能否提供有关PIC16f877a和XC8编译器所遵循的字节排序系统的文档链接
查看XC8编译器的用户指南。在5.4.2章中,您可以阅读整数变量的endianism:
所有整数值都以小端序格式表示,最低有效字节(LSB(位于较低地址
Little endian是所有xc编译器的默认且仅使用的endian。
PIC16系列是一个8位控制器,因此控制器本身不必关心endianes。