原创 C工程文件的组织方法

2007-6-21 15:32 5164 6 7 分类: MCU/ 嵌入式
C工程文件的组织方法
一个大的单片机程序往往包含很多模块,应该这样组织各文件:
1、 每一个C源文件都要建立一个与之名字一样的H文件,里面仅仅包括该C文件的函数的声明,其他的什么也不会有,比如变量的定义等等不应该有;
2、 建立一个所有的文件都要共同使用的头文件,里面就是单片机的管脚使用的定义,还有里面放那些需要的系统头文件,比如 #include<reg52.h>,#include<absacc.h>等等,把这个文件命名为common.h;
3、每个C源文件应该包含自己的头文件以及那个共同使用的头文件,里面还放自己本文件内部使用的全局变量或者以extern定义的全局变量;
4、主文件main.c里面包含所有的头文件(包括那个共同使用的文件),main.c里面的函数可以再做一个头文件, 也可以直接放在文件的开头部分声明就可以了,中断服务程序一般也放在main.c里面;
5、对于那些贯穿整个工程的全局变量,可以放在那个共同使用的头文件里面,也可以用extern关键字在某 个C源文件里面定义,哪个文件要使用就重复定义一下;
6、使用#ifndef及#endif 来防止重复包含,如:
 #ifndef _COMMON_H
 #define _COMMON_H
 .
 .
 .
 #endif;
7、建立工程的时候,只要把C源文件加到工程中,把H文件直接放到相应的目录下面就可以了,不需要加到工程里面。

文章评论1条评论)

登录后参与讨论

用户1079511 2007-6-23 09:23

俺就就是这样做的,项目清晰明了,维护方便!如果能偶做到编程规范就更好了!

相关推荐阅读
用户41648 2008-11-13 09:16
步进电机。。(转载)
虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算...
用户41648 2008-07-22 14:17
转载 3V与5V混合系统中逻辑器接口问题
3V与5V混合系统中逻辑器接口问题  3V与5V混合系统中逻辑器接口问题1 引言近年来,随着便携式数字电子产品棗笔记本计算机、数字式移动电话、寻呼机、手持式测试仪表等的迅速发展,要求使用体积小、功耗低...
用户41648 2008-07-03 15:16
GB ma
GB码 GB 即"国标"的汉语拼音缩写,为中华人民共和国国家标准的意思. 国标编码就是中华人民共和国信息交换汉字编码标准(GB2312-80), 在此标准中制定了每一个汉字及非汉字符号的编码。规定将汉...
用户41648 2008-06-30 14:21
俄文866编码及其与ANSI编码的转换
АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщыьэюяёъ(俄文866编码,用一个字节表示,在WORD中用西里尔文(DOS))80...
用户41648 2008-05-07 16:15
液晶扫描一帧的行数N的倒数叫占空比,半选择点和选择点的电压比叫偏压。
液晶扫描一帧的行数N的倒数叫占空比,半选择点和选择点的电压比叫偏压。很抽象?具体的说液晶是n行的(com端的数目),占空比就是1/n,在电压一定的情况下,行数的增加意味着占空比下降,使液晶的显示质量下...
用户41648 2008-03-21 09:30
区位码和国标码转换
国标与机内码的转换   国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个相对位置差的代码,;再将这个代码的第...
我要评论
1
6
关闭 站长推荐上一条 /2 下一条