[英]Does PIC16f877a microcontroller follow little endian byte ordering system?
我已经在 XC8 编译器上编译了这个简单的代码,并将十六进制文件加载到 Picsimlab - 具有 PIC16f877a 微控制器的模拟器板(板 4)中。
unsigned int x = 1;
char *ptr = (char *) &x;
if (*ptr == 1)
{
clcd_print("little Endian", LINE1(0));
}
else
{
clcd_print("big Endian", LINE1(0));
}
output:小端
那么我们可以推断Xc8编译器遵循小端字节序系统来编程PIC16f877a吗?
这是否也意味着 PIC16f877a 使用小端字节排序系统将变量存储到其数据 memory 中?
您能否提供提及字节排序系统的文档链接,然后是 PIC16f877a 和 XC8 编译器?
查看XC8编译器的用户指南。 在第 5.4.2 章中,您可以阅读 integer 变量的字节顺序:
所有 integer 值都以小端格式表示,最低有效字节 (LSB) 在低地址
Little endian 是默认的,并且仅用于所有 xc 编译器的 endianism。
PIC16 系列是 8 位 controller,因此 controller 本身不必关心字节序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.