ZmjOS单片机裸机编程风格 > 命名规范


文件命名规范:
为了对文件及命名进行统一管理且高识别还有易读性,对这些文件进行一定的规范化,可以增加可移植性或者使得移植更加容易, 于是对文件及内容进行严格的命名规范化,所有的文件都区分两类,一类是驱动文件,主要任务是实现底层的 基本的io,缓存fifo等操作,这些任务主要是以通讯,管理资源为主,另一类是应用文件,主要任务是逻辑层的实现, 主要关注的是设备要完成的任务本身,其中会包含一些更加虚拟的结构体等,以完成具体的任务功能。
因为有两类主要的文件,所以文件命名规则中也是分两类,其中所有的驱动文件都是以 DV_ 开头的,比如DV_UART1主要是实现串口1 的io的初始化、内部串口模块的初始化及串口数据的接收,但串口数据的分析和发送并不在其中实现,相当于对串口1的重新封装
其中另一类是应用文件,所有的应用文件都是以 AP_ 开头的,比如 AP_CollectTemp 就是将采集到的温度数据发送到串口或者其他通讯总线上, 这个模块中不负责具体怎么采集数据,可能是adc,也可能是其他总线,为了更好的可移植性,都是统一使用接口进行数据的转移,并不与实际的硬件耦合。
函数名命名规范:
由于文件是根据文件命名规范进行规范化的,所以函数名也是根据文件名进行规范的,其中,不论类型,都必须有两个API函数是必须要写的, 一是init函数,命名规则为:DV_XXX_Init 是驱动文件的初始化函数,DV_XXX_Server 是驱动文件的服务函数,也就是经常调用且不得阻塞的服务函数, AP_XXX_Init 是应用文件的初始化函数,AP_XXX_Server 是应用文件的服务函数,除此之外,其他的api接口函数也差不多遵循此规范,一般为 DV_XXX_XXX 或 AP_XXX_XXX 这种规范,在遵循这种命名规范的情况下,在编写程序时即可一目了然的看出所有的函数的意图和逻辑。
大概的文件结构体示意图如下:
伪操作系统规范示意