PIC16f877a生成失败
我能够在我的桌面或其他电脑上成功编译下面的程序。但是,我无法在笔记本电脑上编译此代码。我试图重新安装与桌面上安装的软件版本相同的软件。它给我同样的错误,但将编译代码标记为“正常LED程序”如下。我怎样才能解决这个问题 未能编译的程序:PIC16f877a生成失败,c,microcontroller,pic,C,Microcontroller,Pic,我能够在我的桌面或其他电脑上成功编译下面的程序。但是,我无法在笔记本电脑上编译此代码。我试图重新安装与桌面上安装的软件版本相同的软件。它给我同样的错误,但将编译代码标记为“正常LED程序”如下。我怎样才能解决这个问题 未能编译的程序: #include<pic.h> __CONFIG(0x3F3A); main() { TRISB=0; PORTB=0; PSA=0; PS2=0; PS1=0; PS0=0; TMR0=6;
#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;
}
}
}
}
#包括
__配置(0x3F3A);
main()
{
TRISB=0;
PORTB=0;
PSA=0;
PS2=0;
PS1=0;
PS0=0;
TMR0=6;
T0CS=0;
T0SE=0;
TMR0IE=1;
整数计数=0;
而(1)
{
如果(TMR0IF==1)
{
TMR0IF=0;
计数=计数++;
如果(计数=2000)
{
RB0=~RB0;
计数=0;
}
}
}
}
警告错误:
正常LED程序(成功编译):
#include <pic.h>
__CONFIG(0x3F38);
main()
{
TRISB=0;
PORTB=0;
while(1)
{
PORTB=0x01;
}
}
#包括
__配置(0x3F38);
main()
{
TRISB=0;
PORTB=0;
而(1)
{
端口B=0x01;
}
}
> > > p>看起来这个编译器不支持C99代码,特别是在块中间声明变量。将count
声明移动到main
块的开头,如下所示:
main()
{
int count = 0;
TRISB = 0;
...
}
看起来这个编译器不支持C99代码,特别是在块中间声明变量。将
count
声明移动到main
块的开头,如下所示:
main()
{
int count = 0;
TRISB = 0;
...
}
看起来这个编译器不支持C99代码,特别是在块中间声明变量。将
count
声明移动到main
块的开头,如下所示:
main()
{
int count = 0;
TRISB = 0;
...
}
看起来这个编译器不支持C99代码,特别是在块中间声明变量。将
count
声明移动到main
块的开头,如下所示:
main()
{
int count = 0;
TRISB = 0;
...
}
\uuuu CONFIG
中的内容是什么?@Jongware,\uuuu CONFIG()
是高科技编译器的内置微芯片,用于在闪存中刻录设备配置位。看起来“正常LED程序”和出现故障的程序都是有效配置。您必须查看数据表才能查看设置。这两者之间的唯一区别是振荡器位-不应影响编译。在\uuuu CONFIG
中有什么?@Jongware,\uuu CONFIG()
是高科技编译器固有的微芯片,用于在闪存中刻录设备配置位。看起来“正常LED程序”和出现故障的程序都是有效配置。您必须查看数据表才能查看设置。这两者之间的唯一区别是振荡器位-不应影响编译。在\uuuu CONFIG
中有什么?@Jongware,\uuu CONFIG()
是高科技编译器固有的微芯片,用于在闪存中刻录设备配置位。看起来“正常LED程序”和出现故障的程序都是有效配置。您必须查看数据表才能查看设置。这两者之间的唯一区别是振荡器位-不应影响编译。在\uuuu CONFIG
中有什么?@Jongware,\uuu CONFIG()
是高科技编译器固有的微芯片,用于在闪存中刻录设备配置位。看起来“正常LED程序”和出现故障的程序都是有效配置。您必须查看数据表才能查看设置。这两者之间唯一的区别是振荡器位-不应该影响编译。是的,它可以正常工作:)@whywhy,你可能想看看编译器,看看是否有支持C99的标志。如果它是在你的电脑上设置的,而不是在你的笔记本电脑上,这可能就是为什么你用相同的代码得到不同的结果。嗨,embedded_guy,我不确定是C99问题,因为我通过重新安装软件来解决它。可能是因为C99在以前的MPlab版本中无法正常工作而导致内联函数错误。感谢您提供有关c99的信息。是的,它可以正常工作:)@whywhy,您可能想看看编译器,看看是否有支持c99的标志。如果它是在你的电脑上设置的,而不是在你的笔记本电脑上,这可能就是为什么你用相同的代码得到不同的结果。嗨,embedded_guy,我不确定是C99问题,因为我通过重新安装软件来解决它。可能是因为C99在以前的MPlab版本中无法正常工作而导致内联函数错误。感谢您提供有关c99的信息。是的,它可以正常工作:)@whywhy,您可能想看看编译器,看看是否有支持c99的标志。如果它是在你的电脑上设置的,而不是在你的笔记本电脑上,这可能就是为什么你用相同的代码得到不同的结果。嗨,embedded_guy,我不确定是C99问题,因为我通过重新安装软件来解决它。可能是因为C99在以前的MPlab版本中无法正常工作而导致内联函数错误。感谢您提供有关c99的信息。是的,它可以正常工作:)@whywhy,您可能想看看编译器,看看是否有支持c99的标志。如果它是在你的电脑上设置的,而不是在你的笔记本电脑上,这可能就是为什么你用相同的代码得到不同的结果。嗨,embedded_guy,我不确定是C99问题,因为我通过重新安装软件来解决它。可能是因为C99在以前的MPlab版本中无法正常工作而导致内联函数错误。感谢您提供有关c99的信息。