模块化编程概述

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

◇模块化编程概述

◇模块化编程的步骤

为什么要引入模块化编程

通过前十几节课的讲解,我们了解并掌握了单片机的各种外围模块的基本原理和使用方法。同时,我们也体会到,随着代码量的增加,将所有的代码都放在同一个.C文件中的做法越发使得程序结构混乱,导致可读性和可移植性变差,而模块化编程时解决这一问题的常用而有效的方法。

模块化设计原则:高内聚

在一个C文件里面的函数,只有相互之间的调用,而没有调用其他文件里面的函数,尽量减少不同文件里函数的交叉引用。模块与模块之间,尽可能的独立存在。模块与模块之间的接口,尽量少而简单。

模块化编程的步骤

第一步创建头文件

建立一个.C文件(源文件)和一个.h文件(头文件)。原则上.c文件和.h文件同名;文件名要有意义,最好能够体现该文件代码的功能。例如延时函数相关的源文件和头文件命名为delay.c与delay.H

第二步防重复包含处理

在.h文件中加入如下代码:

#ifndef XXX

#define XXX

#endif

在同一个工程中各个.h文件的XXX不能相同,因此推荐大家使用一下规则:将.h文件的文件名全部大写,“.”替换成下划线“_”,首尾各添加2个下划线“_”作为XXX。例如delay.h

#ifndef __DELAY_H__

#define __DELAY_H__

#endif

第三步代码封装

将需要模块化的代码封装成函数与宏定义。函数先在头文件里申明一下,函数体放在.C文件中,需要被外部调用的宏定义放在.h文件中,仅会被本.C文件调用的宏定义放在.C 文件中。

尽量少用或不用全局变量,必须要用的全局变量的申明放在.c文件中,当需要调用外部全局变量,需要在.h文件中用extern重新申明一下。

第四步使用源文件

将.C文件添加到工程之中,同时在需要调用.h文件中的宏或者函数的.C文件中添加代码将该.h文件包含进去。所包含的头文件中的函数,宏定义,全局变量可以在.C文件中自由调用。

相关文档
最新文档