嵌入式C语言编程心得.doc

嵌入式C语言编程心得.doc

ID:56215729

大小:88.50 KB

页数:13页

时间:2020-03-21

嵌入式C语言编程心得.doc_第1页
嵌入式C语言编程心得.doc_第2页
嵌入式C语言编程心得.doc_第3页
嵌入式C语言编程心得.doc_第4页
嵌入式C语言编程心得.doc_第5页
资源描述:

《嵌入式C语言编程心得.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一、.H文件与・C文件的关系:迄今为止,写过的程序都是一些很简单的程序,从來没有想到要自己写.II文件,也不知道.II文件到底什么用,与・C文件什么关系。只是最近写键盘程序,参考别人的程序时,发现别人写的严格的程序都带有一个“KEY.II”,里面定义了・C文件里用至!I的自己写的函数,如Keyhit()、Keyscan()等。经过查找资料得知,.II文件就是头文件,估计就是lleod的意思吧,这是规范程序结构化设计的需要,既可以实现大型程序的模块化,又可以实现根各模块的连接调试。1、・H文件介绍:在单片机C程序设计中,项目一般按功能模块化进行结构

2、化设计。将一个项冃划分为多个功能,每个功能的相关程序放在一个C程序文档中,称之为一个模块,对应的文件名即为模块名。一个模块通常由两个文档组成,一个为头文件*.h,对模块中的数据结构和两数原型进行描述;另一个则为C文件*.c,对数据实例或对象定义,以及函数算法具体实现。2、・H文件的作用作为项目设计,除了对项目总体功能进行详细描述外,就是对每个模块进行详细定义,也就是给出所有模块的头文件。通常II头文件要定义模块中各函数的功能,以及输入和输出参数的要求。模块的具体实现,由项目组成根据II文件进行设计、编程、调试完成。为了保密和安全,模块实现后以可连

3、接文件0町、或库文件LIB的方式提供给项目其他成员使用。由于不用提供源程序文档,一方面可以公开发行,保证开发人员的所有权;另一方面可以防止别人有意或无意修改产生非一致性,造成版本混乱。所以II头文件是项H的详细设计和团队工作划分的依据,也是对模块进行测试的功能说明。要引用模块内的数据或算法,只要用包含include指定模块II头文件即可。3、・H文件的基本组成/*如下为键盘驱动的头文档*/#ifndef_KEYII//防重复引用,如果没有定义过KEYII,则编译下句^defineKEYII//此符号唯一,表示只耍引用过一次,即血nclude,则定

4、义符号KEYII/////////////////////////////////////////////////////////////////charkeyhit(void);//击键否unsignedcharKeyscan(void);//取键值/////////////////////////////////////////////////////////////////#endif・c文件是整个程序中的一个或几个函数组成,在别的・C文件里可以调用它,不只是在主函数中。这样做可以增强程序的模块化,提高程序的可读性。当编制好一个模块时你可以

5、保存在一个工程下,文件名改为**.C。这样在另一个.C文件中的文件头处只要你对它进行说明就可以调用它。比如^includestring,c那么你就可以在你说明了的・C文件中调用它,这样一个模块可以在很多处调用,使得编程复杂度降低。程序编译时把你所说明的文件复制到你调用处程序就可以运行了。•H文件是对单片机一些端口及一些常用的程序的库说明,比如我们在程序中用到端口一即P1,我们能够用它是因为在库中已对它进行了说明,对P1赋予了一个端口地址,这样程序编译是才不会出错,不然会提示你UNDIFINEDo分开多个文件写就有很多的.c和.h文件了,当然要加上

6、Sinclude语句把其它的包含进來,分开多个文件写有利于管理,其实我觉得・c和.h区别不是很大,只是・h—般都是写定义、声明的东西,・c文件一般都写函数的具体实现h文件就是头文件,一般进行声明、宏定义等。比如要编写流水灯的程序,h文件这样写:#ifndefJ.EDJI#defineLEDHdefineLED_0NPl.1=1;defineLED_0FFPl.1=0;//还可以进行函数的声明//voidLEDtwikle(void);Wendif在你的c文件中要加入#include"LED.h"二、尽量使用宏定义#define开始看别人的程序时,

7、发现程序开头,在文件包含后面有很多define语句,当时就想,搞这么多标示符替换来替换去的,麻不麻烦啊,完全没有理解这种写法的好处。原来,用一个标示符表示常数,有利于以后的修改和维护,修改时只要在程序开头改一下,程序中所有用到的地方就全部修改,节省时间。^defineKEYNUM65//按键数量,用于Keycode[KEYNUM]^defineLINENLM8//键盘行数^defineROWNUM8〃键盘列数注意的地方:1、宏名一般用大写2、宏定义不是C语句,结尾不加分号三、不要乱定义变量类型以前写程序,当需要一个新的变量时,不管函数内还是函数外

8、的,直接在程序开头定义,虽然不是原则上的错误,但是很不可取的作法。下而说一下,C语言中变量类型的有关概念:从变量的作用范I韦I来分,分为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。