我能够成功地在我的桌面或其他PC上编译以下程序。但是,我无法在笔记本电脑上编译此代码。我尝试使用与桌面上安装的版本相同的版本重新安装软件。它给了我相同的错误,但将使用下面标记为“正常LED程序”的代码进行编译。我该如何解决这个问题?
无法编译的程序:
#include<pic.h>
__CONFIG(0x3F3A);
main()
{
TRISB=0;
PORTB=0;
PSA=0;
PS2=0;
PS1=0;
PS0=0;
TMR0=6;
T0CS=0;
T0SE=0;
TMR0IE=1;
int count=0;
while(1)
{
if(TMR0IF==1)
{
TMR0IF=0;
count=count++;
if(count==2000)
{
RB0=~RB0;
count=0;
}
}
}
}
警告错误:
正常LED程序(编译成功):
#include <pic.h>
__CONFIG(0x3F38);
main()
{
TRISB=0;
PORTB=0;
while(1)
{
PORTB=0x01;
}
}
答案 0 :(得分:3)
看起来这个编译器不支持C99代码,特别是在块中间声明变量。将count
声明移动到main
块的开头,如下所示:
main()
{
int count = 0;
TRISB = 0;
...
}