ddtx 发表于 2010-8-9 09:06

实在是找不到原因了,求各位帮忙

本帖最后由 ddtx 于 2010-8-9 09:25 编辑

写了个头文件,编译的时候总是提示unknown preprocessor command,但是我前边根本就没有用预编译指令,头文件如下。
extern UCHAR PG_RUN;
extern UINT target_speed;            //目标全局风速定义
extern UINT measure_speed;            //测量得到风速
extern UCHAR measure_speed_finish;          //风速测量结束标志         
extern UINT PG_counter;               //电机中断检测
extern UINT PG_TBT_counter;             //测速在TBT中的计数中转量
externUINT PG_TBT_timer_num;          //TBT中断计时数
extern UINT PG_TBT_COUNTER;          //TBT脉冲宽度计时
//#define PG_MOTOR_PULSE P01         //PG电机驱动输出端口P01
extern UCHAR TC4_FLAG;

extern UCHAR SH_TC4_NUM ;         //各个风级TC4赋值,只需8位即可
extern UCHAR HI_TC4_NUM ;
extern UCHAR ME_TC4_NUM ;
extern UCHAR LO_TC4_NUM ;
extern UCHAR VL_TC4_NUM ;
extern UCHAR SL_TC4_NUM ;
//#defineSH1300
//#defineHI1200
//#defineME1000
//#defineLO900
//#defineVL700
//#defineSL600
//#define PULSE_WIDTH   4            //PG驱动脉冲宽度,0.256MS计数1
void PG_driver(void);
void PG_speed_check(void);
void PG_speed_change(void);
void PG_init(void);               //PG电机驱初始化函数


编译过后,就是提示头文件的第一行 unknown preprocessor command,我以为有空格,但是删除了还是不行。

一朝成名 发表于 2010-8-9 11:08

贴的这些没问题。。都贴出来才能找问题

sinanjj 发表于 2010-8-9 12:18

头文件还加extern?

一朝成名 发表于 2010-8-9 12:46

头文件还加extern?
sinanjj 发表于 2010-8-9 12:18 https://bbs.21ic.com/images/common/back.gif


包含的是别的文件的变量~~

sinanjj 发表于 2010-8-9 12:53

不怕以后依赖关系乱了?

俺都是把供外部用的变量放对应头文件, 引用头文件...

sinanjj 发表于 2010-8-9 18:23

又看了看. .....

5楼的说错了.

pc编程可以用函数做绝对隔离. 一般只在头文件放函数, 做成库文件. 隔离性很好.

MCU编程考虑尽量少进行内存复制......所以隔离无论如何也做不好.....

chengchenz 发表于 2010-8-11 12:24

用的什么编辑器,会不会是存储时选的编码格式不对,文件头部有特定的头信息。
建一个新文件,然后把这个头文件里的内容复制过去,再试试。

ddtx 发表于 2010-8-13 21:03

找到问题了,是这样的:头文件中声明的全局变量第一次编译时定义,第二次编译应为外部变量声明,如没有做这个处理就会出现未知的预编译命令,我们用的东芝的GTT-IDE的开发环境,太垃圾了

lhzw2001 发表于 2010-8-16 08:24

:)

l0p0c 发表于 2010-8-25 15:52

UCHAR
这个有定义吗》?

Androider 发表于 2010-9-3 22:26

帮顶
页: [1]
查看完整版本: 实在是找不到原因了,求各位帮忙