• 1
    回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

好结构好逻辑,浅谈单片机程序的结构

SO技术分享之30

编程、棋类和写作是公认为几个比较锻炼人思维的活动,不过这也是通过在长期练习在中后期能达到的思维佳、逻辑清晰的效果。假如是初识时,还是会觉得比较迷茫和混乱。不过一个好的逻辑结构,能快速地帮助进步。

一个好的程序结构,有助于理清思路、避免犯错和遗漏。

本文介绍在单片机编程时做出较好的程序结构的方法,包括文件组织、C文件内代码的组织等内容。

1、程序的组成

一般来说,一个程序由头文件和C程序组成。头文件用于定义,文件存储的后缀为.h,C程序用于编写实现功能的代码,文件存储的后缀为.c。

2、本文谈及的程序结构的内容

一是一个工程里C文件的分配。如果一个工程里面有多个C文件,那么之前就需要对C文件进行一下分配。

C文件的分配可以按照功能来分配,可以按照部件(模块)来分配,也可以按照执行过程来分配。其实第二第三种分配方式就是分别对应程序编程方法的面向对象和面向过程。

二是一个C程序里子程序的划分。子程序的划分比较简单,一般按照一个功能或者一个任务来分一个子程序即可。

这几种分配或者划分的方法无所谓优劣,适用简单即可。

3、一个单片机程序的标准结构

其实标准结构也不是说非要一定这样做,只是这样做会比较好。

首先得载入头文件,不管是系统头文件还是自定义的头文件,在这个程序里需要用到的都需要载入,如定义需要的相关子程序、引脚等。

如果要用到全局变量,那么全局变量等的定义一般也是需要的。

Main函数是一个工程里一定要有的,而且只能唯一。单片机执行程序时一定会运行到的程序就是main函数,其他子函数一般在main函数中被调用或者嵌套调用。

子程序可以与main函数放在同一个C文件,也放在其他C文件里。放在其他C文件的话,可以通过引用头文件来实现调用。

特殊子程序,如一些中断子程序等,如果要用到那么也需要去定义和编写。

4、一个例子

图 2是一个单片机程序的标准结构的例子,左边project树中包含了该工程的所有文件。在main.c文件中,先是引用相关头文件,如引脚的定义就在其中一个头文件里,接着是全局变量的定义,main.c文件中main函数是关键的程序,是一个单片机程序里一定会执行的程序,其他子程序在main函数中调用,具体的子程序代码在其他C文件里,main函数中用while(1)执行反复循环。

如有项目开发需要,可看2017年12月的推广贴获取联系方式。

本节完,精彩待续。

全部回复(1)
正序查看
倒序查看
JacobL
LV.4
2
2022-03-21 09:05

都飘了

0
回复