关于Keil一个傻问题

ocon   2009-12-5 20:23 楼主
工程里有main.c  A.c
display.c中有个公共变量
volatile unsigned char AA = 0X01;

请问如何在main.c中使用 AA  ???  

回复评论 (14)

建议lz如下这样做
建立一个.h文件
然后将
volatile unsigned char AA = 0X01;
放在这个.h文件里面

接下来在每个.c文件中
#include这个.h文件

这样就可以直接操作AA了
点赞  2009-12-5 22:40
volatile unsigned char AA = 0X01;
这就相当于定义了一个常量啊 你在主函数中就可以直接用啊

比如 给A赋值 赋值的数据为AA
A=AA;
点赞  2009-12-6 01:01
在main.c中添加extern volatile unsigned char AA;
作一下声明即可:)
点赞  2009-12-6 10:50
引用: 引用 3 楼 anchorite27 的回复:
在main.c中添加extern volatile unsigned char AA;
作一下声明即可:)


正解,这样比较简单好用
点赞  2009-12-6 12:51
建议每个.c文件对应一个.H文件。针对你的这个问题,可以写一个display.h头文件。里面写上

#ifndef  DISPLAY_H
#define  DISPLAY_H

extern volatile unsigned char AA;

#endif


然后在你的main.c里面
#include "display.h"


这样组织文件结构清晰,使用方便。
点赞  2009-12-6 14:43
extern volatile unsigned char AA;
点赞  2009-12-6 14:48
照5楼的弄吧~~~要养成良好习惯
点赞  2009-12-7 13:34
在.c文件中定义  在.h文件中声明即可
除了常量,变量一般不要在头文件里定义
点赞  2009-12-8 17:57
引用: 引用 5 楼 sunxinyu 的回复:
建议每个.c文件对应一个.H文件。针对你的这个问题,可以写一个display.h头文件。里面写上

#ifndef? DISPLAY_H
#define? DISPLAY_H

extern volatile unsigned char AA;

#endif




然后在你的main.c里面
#include "display.h"


这样组织文件结构清晰,使用方便。


好习惯~
点赞  2009-12-8 19:26
可建立头文件或设为外部变量

点赞  2009-12-8 20:32
#ifndef  DISPLAY_H
#define  DISPLAY_H

这个东西不明白,见过很多次,(display.h 等于 DISPLAY_H
点赞  2009-12-9 10:57
路过,楼上都讲得很明白了
点赞  2009-12-9 12:59
引用: 引用 3 楼 anchorite27 的回复:
在main.c中添加extern volatile unsigned char AA;
作一下声明即可:)

只有声明了它为外部变量才可以用.
点赞  2009-12-10 17:02
引用: 引用 11 楼 hallowwar 的回复:
#ifndef? DISPLAY_H
#define? DISPLAY_H

这个东西不明白,见过很多次,(display.h 等于 DISPLAY_H)

这主要为了防止重复引用dispaly.h
#ifndef  DISPLAY_H       //是否定义了 DISPLAY_H,如果引用过display.h,则定义过DISPLAY_H
#define  DISPLAY_H       //进入这里说明是第一次引用display.h,做个标记,别的文件可以不引用了
#endif
点赞  2009-12-18 07:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复