picc里不能include <pic.h>?

2020-02-09 11:39发布

最近学习PICC, 我分两个C文件一个main.c,一个lcd.c,可是为什么在main.c里include<pic.h>后,在lcd.c里就不能include了,为什么呢?

路过的前辈给讲讲吧,。。。。

TKS!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
o11o
1楼-- · 2020-02-09 13:47
是不是你没有放在一个项目里呀?
angle11
2楼-- · 2020-02-09 16:00
是在一个项目里的啊,不知道为什么呢?
o11o
3楼-- · 2020-02-09 20:07
 精彩回答 2  元偷偷看……
angle11
4楼-- · 2020-02-10 01:29
学习用的程序。
一个main.c
#include<pic.h>
#include"lcd.c"
void main()
{
   while(1);
}

然后一个lcd.c
#include"pic.h"//  这里包含了pic.h后编译不过
#ifndef uchar
  #define uchar unsigned char
  #define uint unsigned int
#endif
#define lcdrw RC7
#define lcdrs RC6
#define lcden RC5
void write_com(uchar com)
{...}

主要就是编译说RC5,6,7重复定义了。
请给讲一讲吧
TKS!
snoopyzz
5楼-- · 2020-02-10 07:16
pic.h做的不规范,你可以如下改造
做个pic_fix.h放在程序文件夹

#ifndef _H_PIC
#define _H_PIC

#include <PIC.H>

#endif

然后引用pic.h的地方都换成
#include "pic_fix.h"
517456
6楼-- · 2020-02-10 07:38
楼上用的什么版本的?我的文件头里面都有#ifdefine这类用法。
我认为是楼主的格式出现问题,最好不要用这种#include "???.c"的格式,我以前也经常会出现这样的问题,这样的做法与单独一个文件编译无异,最好采用独立编译的方式,中间通过???.h的格式调用,这样可以增加程序的独立性,减少出错机会。

一周热门 更多>