Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PIC16f877a生成失败_C_Microcontroller_Pic - Fatal编程技术网

PIC16f877a生成失败

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;

我能够在我的桌面或其他电脑上成功编译下面的程序。但是,我无法在笔记本电脑上编译此代码。我试图重新安装与桌面上安装的软件版本相同的软件。它给我同样的错误,但将编译代码标记为“正常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;
            }
        }
    }       
}
#包括
__配置(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的信息。