我必须为一个新项目使用 Microchip PIC(需要在具有 5V 操作的 TQFP60 封装上具有高引脚数)。
我有一个很大的问题,我可能会错过一些东西(提前抱歉)。IDE:MPLAB X 3.51 编译器:XC8 1.41
问题是,如果我将一个对象初始化为 0 以外的任何值,它将不会被初始化,并且在我到达 main() 时始终为零;在模拟器中它可以工作,并且对象值是正确的。
简单的例子:
#include <xc.h>
static int x= 0x78;
void main(void) {
while(x){
x++;
}
return;
}
在模拟器中,x 为 0x78,while(x) 为真。但是当我使用 PICKIT3 将代码加载到 PIC18F67K40 时,x 为 0。
即使我做了一个简单的 sprintf 也会发生这种情况,并且它什么也不做,因为格式化文本字符串(char 数组)充满了零。sprintf(buf,"数字是 %u",x")
我无法将任何对象初始化为零。到底是怎么回事?任何帮助表示赞赏!