打印
[PIC®/AVR®/dsPIC®产品]

请教一个关于pic18编译器的问题!! 很痛苦!

[复制链接]
7549|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
使用MPLAB IDE v8.9编译c18    选用单片机为pic18f2525






分别采用如上三种编译器    均无法编译    要么无法找到头文件(picc18),要么陷入死循环(mcc)、或者配置字未定义(xc8)
#include<timers.h>
#include<plib.h>
#include<xc.h>

/*Set configuration bits
* -set HS oscillator
* -disable watchdog timer
* -disable low_voltage programming
* -disable brownout reset
* -enable master clear
*/

#pragma config OSC=HS
#pragma config WDT=OFF
#pragma config LVP=OFF
#pragma config BOR=OFF
#pragma config MCLRE=ON

void MyHighInt(void)
void MyLowInt(void)

#pragma interrupt MyHighInt
#pragma code high_vector=0x08

void high_vector(void)
{
    _asm GOTO MyHighInt_endasm
}

#pragma interruptlow MyLowInt
#pragma code low_vector=0x18

void low_vector(void)
{
    _asm GOTO MyLowInt_endasm
}

(24.31 KB )

G_6{_QLSJN1C$2M~$GX1KIS.jpg (28.86 KB )

G_6{_QLSJN1C$2M~$GX1KIS.jpg

}`A]6TRIUNWU[VPD4TJHVE0.jpg (35.38 KB )

}`A]6TRIUNWU[VPD4TJHVE0.jpg
沙发
yewuyi| | 2013-9-29 09:52 | 只看该作者
头文件的引用别乱写,在PICC下,只要写#include<pic.h>

使用特权

评论回复
板凳
Rain_King| | 2013-9-29 10:26 | 只看该作者
在PICC下,貌似是htc.h,在PICC18貌似是pic18.h我是这么使用的,没有任何问题...........

使用特权

评论回复
地板
一克雪|  楼主 | 2013-10-10 17:16 | 只看该作者
Rain_King 发表于 2013-9-29 10:26
在PICC下,貌似是htc.h,在PICC18貌似是pic18.h我是这么使用的,没有任何问题........... ...

请问能麻烦您把您编译器配置的图片发给我吗?  我更改了头文件之后还是不行  纠结这个问题很久了
我的邮箱:460773558@qq.com

使用特权

评论回复
5
一克雪|  楼主 | 2013-10-10 17:19 | 只看该作者
yewuyi 发表于 2013-9-29 09:52
头文件的引用别乱写,在PICC下,只要写#include

我在编译时候改成了pic.h之后,还是无法编译
报错是   can't open include file "pic.h": No such file or directory

使用特权

评论回复
6
Rain_King| | 2013-10-10 17:21 | 只看该作者
一克雪 发表于 2013-10-10 17:16
请问能麻烦您把您编译器配置的图片发给我吗?  我更改了头文件之后还是不行  纠结这个问题很久了
我的邮 ...

主要是什么问题啊...不要急....

使用特权

评论回复
7
Rain_King| | 2013-10-10 17:22 | 只看该作者
Rain_King 发表于 2013-10-10 17:21
主要是什么问题啊...不要急....

说是什么问题.....

使用特权

评论回复
8
一克雪|  楼主 | 2013-10-10 19:02 | 只看该作者
Rain_King 发表于 2013-10-10 17:22
说是什么问题.....

Using driver d:\HI-TECH\PICC-18\PRO\9.63\bin\picc18.exe
这是编译器

Warning [335] C:\Users\Administrator\Desktop\OpenDecoder_V04-CODE\Debug_\DCC_Decoder\DCC.c; 19.1 unknown pragma "OSC=0xF2FF"
Warning [335] C:\Users\Administrator\Desktop\OpenDecoder_V04-CODE\Debug_\DCC_Decoder\DCC.c; 20.1 unknown pragma "config"
Warning [335] C:\Users\Administrator\Desktop\OpenDecoder_V04-CODE\Debug_\DCC_Decoder\DCC.c; 20.1 unknown pragma "WDT=OFF"
Warning [335] C:\Users\Administrator\Desktop\OpenDecoder_V04-CODE\Debug_\DCC_Decoder\DCC.c; 21.1 unknown pragma "config"

编译时很多这样的报错,都是无法识别的配置字

包含的头文件为pic18.h

#pragma config OSC=HS
#pragma config WDT=OFF
#pragma config LVP=OFF
#pragma config BOR=OFF
#pragma config MCLRE=ON
这是配置的一部分代码

使用特权

评论回复
9
一克雪|  楼主 | 2013-10-10 19:03 | 只看该作者
一克雪 发表于 2013-10-10 19:02
Using driver d:\HI-TECH\PICC-18\PRO\9.63\bin\picc18.exe
这是编译器

先感谢啦!

使用特权

评论回复
10
yewuyi| | 2013-10-10 20:54 | 只看该作者
一克雪 发表于 2013-10-10 19:02
Using driver d:\HI-TECH\PICC-18\PRO\9.63\bin\picc18.exe
这是编译器

让人狂晕,你这是基本的C语言问题。


上个月,我好想在某个帖子中刚回了一个类似的问题,当时长篇大论的写了很多基本知识,你自己去翻翻看,看看是否能找出来。

使用特权

评论回复
11
一克雪|  楼主 | 2013-10-10 21:11 | 只看该作者
yewuyi 发表于 2013-10-10 20:54
让人狂晕,你这是基本的C语言问题。

我仔细找找看

使用特权

评论回复
12
一克雪|  楼主 | 2013-10-10 21:46 | 只看该作者
yewuyi 发表于 2013-10-10 20:54
让人狂晕,你这是基本的C语言问题。

我找了很多您回复的帖子,看到一篇关于头文件的,不晓得是不是您说的。  
您能直接指出我的错误吗?因为我已经尝试过各种方法,  但是一直没有进展

使用特权

评论回复
13
yewuyi| | 2013-10-10 22:03 | 只看该作者
要使用宏定义,自然就应该在某个文件中定义了它,并且这个文件被包含到应用程序中参与一起编译。

你这么写,但你知道头文件中是怎么定义的吗?

如果不是这么定义的,那么你这么写肯定会报错?

如果没有定义过,那么你这么写肯定会报错?

如果确实就是这么定义了,但你应用程序中没有包含这个头文件,那么你这么写肯定也会报错?

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
一克雪 + 1 很给力!
14
Rain_King| | 2013-10-11 08:42 | 只看该作者
一克雪 发表于 2013-10-10 19:02
Using driver d:\HI-TECH\PICC-18\PRO\9.63\bin\picc18.exe
这是编译器

我虽然不知道为什么你会这样子,但是我在用picc18编译器的时候,只用了pic18这个头文件,虽然或许你还用到了其他函数才加其他头文件,还有配置文件可以在软件里面直接设置的....另外关于配置为,为啥出错,你可以去你这个芯片的头文件里面找这个定义,看有么有,在pic18f2525.h里面找...

使用特权

评论回复
15
一克雪|  楼主 | 2013-10-11 12:57 | 只看该作者
Rain_King 发表于 2013-10-11 08:42
我虽然不知道为什么你会这样子,但是我在用picc18编译器的时候,只用了pic18这个头文件,虽然或许你还用 ...

我在xc8编译器下找到了pic18f2525.h
同时我在之前安装的Maplab C18 的MCC18下面也找到了一个pic18f2525.h文件
我在用XC8进行编译时,会出现四个警告

Warning [111] D:\Microchip\xc8\v1.12\include\pic18.h; 39.31 redefining preprocessor macro "ClrWdt" (D:\MCC18\h\p18f2525.h: 909)
Warning [111] D:\Microchip\xc8\v1.12\include\pic18.h; 41.26 redefining preprocessor macro "Nop" (D:\MCC18\h\p18f2525.h: 908)
Warning [111] D:\Microchip\xc8\v1.12\include\pic18.h; 43.30 redefining preprocessor macro "Reset" (D:\MCC18\h\p18f2525.h: 911)
Warning [111] D:\Microchip\xc8\v1.12\include\pic18.h; 45.30 redefining preprocessor macro "Sleep" (D:\MCC18\h\p18f2525.h: 910)

是指定的宏被重新定义为不同于原始定义的内容
而我只在MCC18\h 下面的pic18f2525.h 文件中 看到了

#define Nop()    {_asm nop _endasm}
#define ClrWdt() {_asm clrwdt _endasm}
#define Sleep()  {_asm sleep _endasm}
#define Reset()  {_asm reset _endasm}

并且改路径D:\Microchip\xc8\v1.12\include\pic18.h  下面是没有pic18.h 文件的

使用特权

评论回复
16
Pace、| | 2016-12-19 11:33 | 只看该作者
一克雪 发表于 2013-10-10 19:02
Using driver d:\HI-TECH\PICC-18\PRO\9.63\bin\picc18.exe
这是编译器

请问无法识别配置字你是怎么解决的啊 ???求赐教

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

17

帖子

0

粉丝