添加时间:2019年06月11日 作者:单片机接口模块 来源:单片机接口模块
单片机接口模块-当一个项目小组做一个相对比较复杂的工程时,就需要小组成员分工合作,一起完成项目,意味着不再是某人独自单干,而是要求小组成员各自负责一部分工程。比如你可能只是负责通讯或者显示某一块,这个时候,就应该将自己的这一块程序写成一个模块,单独调试,留出接口供其它模块调用。最后,小组成员都将自己负责的模块写完并调试无误后,由项目组长进行综合调试,像这些场合就要求程序必须模块化。模块化的好处非常多,不仅仅是便于分工,它还有助于程序的调试,有利于程序结构的划分,还能增加程序的可读性和可移植性-HDMI触控屏。
单片机接口模块-资深单片机工程师讲单片机的模块化编程-HDMI触控屏
模块化编程的说明
说明一:模块即是一个.c和一个.h的结合,头文件(.h)是对该模块的声明。
说明二:某模块提供给其他模块调用的外部函数以及数据需在所对应的.h文件中冠以extern关键字来声明。
单片机接口模块-资深单片机工程师讲单片机的模块化编程-HDMI触控屏
说明三:模块内的函数和变量需在.c文件开头处冠以static关键字声明。
说明四:永远不要在.h文件中定义变量。
单片机接口模块-先解释一下说明中的两个关键词:定义和声明。相信读者都是学过C语言的,本应该对这两个词理解的很透彻,可笔者在培训时发现,好多人都搞不清楚,都是凭着感觉写的,高兴了就用定义,不高兴了就用声明,这样做当然是不对的,换句话说是错的-HDMI触控屏。
单片机接口模块-资深单片机工程师讲单片机的模块化编程-HDMI触控屏
什么是定义和声明?
单片机接口模块-所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或者对象名。但注意,这个名字一旦和这块内存匹配起来(可以想象是这个名字嫁给了这块空间,没有要彩礼啊),它们就同生共死,终生不离不弃,并且这块内存的位置也不能被改变。一个变量或对象在一定的区域内(比如函数内)只能被定义一次,如果定义多次,编译器会提示你重复定义同一个变量或对象-HDMI触控屏。
单片机接口模块-资深单片机工程师讲单片机的模块化编程-HDMI触控屏
什么是声明?声明确切的说应该有两重含义:
(1)单片机接口模块-告诉编译器,这个名字已经匹配到一块内存上了(伊人已嫁,吾将何去何从?何以解忧,唯有稀粥),下面的代码用到变量或对象是在别的地方定义的。声明可以出现多次-HDMI触控屏。
(2)单片机接口模块-告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量名或对象名。比如你在图书馆自习室的某个座位上放了一本书,表明这个座位已经有人预订,别人再也不允许使用这个座位。其实这个时候你本人并没有坐在这个座位上。这种声明最典型的例子就是函数参数的声明,例如:void fun(int i, char c)-HDMI触控屏。
单片机接口模块-那他们的区别也很清晰了。记住,定义声明最重要的区别:定义创建了对象并为这个对象分配了内存,声明没有分配内存(一个抱伊人,一个喝稀粥,^_^)。
单片机接口模块-资深单片机工程师讲单片机的模块化编程-HDMI触控屏
单片机接口模块-《深入浅出玩转51单片机》,由北航出版社出版,研发有与书籍配套的飞天一号51单片机试验板,并录制有与书籍、实验板完全配套的《31天环游单片机》视频。编著《STC15单片机实战指南(C语言版)》,已由清华出版社出版,研发有与书籍配套的飞天三号STC15单片机开发板试验板,并录制有与书籍、实验板完全配套的视频-HDMI触控屏。
工业串口屏,单片机接口模块,HDMI触控屏,LVDS视频模块
如何使用RS232串口通信-RS485串口模块-SPI串口模块