MPLAB编译出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MPLAB编译出错相关的知识,希望对你有一定的参考价值。

我使用MPLAB IDE V8.33编译一个程序,程序是下载PIC16网站的现成代码(流水灯),代码如下
//实验目的:GPIO口的流水灯,熟悉PIC12F508的I/O口的操作
//GP3因为做编程电压VPP和复位脚MCLR,所以不点亮该口的LED
//硬件要求:
//1)时钟选择OSCC跳到I/O
//2)断开j5/j6或者j7/j8
//3)拨码开关S13全部置ON
#include<pic.h>
__CONFIG(0x0ffa);
//看门狗关,内部RC振荡,GO0/GP1做I/O,不加密,MCLR脚做复位

//---------------------------------
//延时函数
void delay()

int i;
for(i=5000;i>0;i--);


//--------------------------------
//初始化函数
void init()

TRIS=0X00; //设置所有I/O口为输出
OPTION=0X00; //设置所有I/O走做普通I/O口


//-------------------------------
//亮灯函数
void led()

char i;
while(1)

GPIO=1; //点亮GP0
for(i=3;i>0;i--) //循环3次(GP0-GP2)

delay();
delay();
delay(); //调用3次延时函数
GPIO=GPIO<<1; //左移一位,点亮下一位LED

GPIO=0x10; //电亮GP4
for(i=2;i>0;i--) //循环2次(GP4-GP5)

delay();
delay();
delay();
GPIO=GPIO<<1;




//--------------------------------
//主函数
void main()

init(); //调用初始化函数
led(); //调用亮灯函数

程序应该没有问题,在我使用MPLAB编译的时候(BUILD ALL),一直提示一个错误,代码如下
*** Error 128 "qawsz.c" Line 12(1,1): A #DEVICE required before this line
1 Errors, 0 Warnings.
就停止编译了,我查阅了很多资料,都没有一位高手能完全说出这究竟是怎么回事,无奈只好自己发帖向各位大大们求教,请各位大大帮帮忙,小弟万分感谢,现给30分,问题解决后,再追加100分,谢谢了

新建x.h和x.c文件后点击保存,可将文件保存到指定工程目录。在x.c文件中一般都需要写
#include<x.c>,但是编译时经常会出现找不到该.h文件的错误,我们需要将该.h文件的绝对路径包含进去#include<x:\...\x.h>或者写成#include
"x.h"。
发现在mplab
x
ide
2.20版本里,xc8没有设置包含路径的话,都是会提示找不到"x.h",还是在编译器里面设置好路径比较保险。
参考技术A 首先
主程序是可以有返回数值的
不是
返回值
的问题。
其次,你那个while
(1)
后面应该是
while(1)

PORTB=counter;
counter=counter+1;

应该是
而不是
()
明显是你的括弧些错误了而导致的。
这个应该才是关键。
参考技术B __CONFIG(0x0ffa); 应该这段有问题。删掉试下~

mplab xIde 编译成功,但不能生成Hex文件

设置不对

 

如果还不行,在设置下面

 

以上是关于MPLAB编译出错的主要内容,如果未能解决你的问题,请参考以下文章

编译cm11出错

ARM (UBOOT)编译出错问题

DataStage Transformer 编译出错

在Ubuntu中编译android代码出错。

Java代码编译老是出错,找不出具体的,新手求指点

CMake编译VTK,ITK总是出错