如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
1.头文件※采用#ifndef、#define、#endif结构产生预处理块(设文件名称:filename.h)格式:#ifndef__FILENAME_H__#define__FILENAME_H__…………#endif※采用#include<filename.h>包含标准库的头文件※采用#include“filename.h”包含非标准库的头文件(自定义头文件)※头文件中只存放“声明”,不存放“定义”※全局变量在GlobalVar_difine.c文件中定义,GlobalVar_head.h头文件中以extern声明。※函数声明在Func_declare.c文件中定义,Func_head.h头文件中以extern声明。2.函数结构:2.1函数说明:每一个函数“声明”之前有一个函数注释,格式如下://------------------------------(30-)//*函数原型:voidfunction(unsignedintdataLui_width)//*功能描述:函数功能的介绍//*输入参数://1.Lui_width物理意义数据范围//*输出参数:无//*返回值:无//*备注://------------------------------(30-)2.2函数的名字应当使用“动词”或者“动词+名词”(动宾词组)。如:charget_char(void)2.3函数声明放在头文件里,函数定义(实现)存放在定义文件里。2.4函数参数:※参数的书写要完整,如果函数没有参数,则用void填充※系统设置为small存储模式,函数声明中明确指定非small的函数存储模式为compact或large※不特别必要时不使用可重入性能函数,使用时函数声明中明确声明※中断函数使用声明时明确声明中断使用寄存器组如:voidset_value(unsignedintdataLui_width,unsignedintdataLui_height)large;floatget_value(void)smallinterrupt5using0;※如果函数参数为指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改※避免函数有太多的参数,参数个数尽量控制在5个以内。如果参数太多,在使用时容易将参数类型或顺序搞错※不省略返回值的类型。如果返回值为空则用void说明2.5标示符命名规则:※变量命名:“望名知意”,一般采用“小写加下划线”unsignedchardataLuc_variable_name※宏常量:一般采用大写#defineCONST_NAME200※const常量:前缀加CconstunsignedchardataCuc_variable_name200※静态变量:前缀加S(static)staticunsignedintdataSui_variable_name※全局变量:前缀加G(global)unsignedchardataGuc_variable_name※局部变量:前缀加L(local)unsignedchardataLuc_variable_name※结构体变量前缀加stu(struct)structstuMyStructure※其中:unsiged以u标志;signed以s标志;char以c标志,int以i标志;float以f标志;long以l标志;bit以b标志;结构体以stu标志;※变量声明时不省略有符号、无符号标志,必须明确声明singed或unsigned※变量声明时明确声明变量存储器类型,必须在定义变量数据类型之后定义存储类型存储器类型如下:(以51单片机为例)存储器类型说明data直接寻址片内存储区(128字节),访问速度快,建议用于底层驱动或中断性、实时性程序bdata可位寻址片内数据存储区(16字节),允许位与字节混合访问,建议用于串并/并串转换驱动程序和位标志提取程序(此段类型声明产生全局位变量,sbit声明必须使用bdata类型)idata间接寻址片内数据存储区,可访问片内全部RAM地址空间(256字节),建议用于常用功能性函数pdata分页寻址片外数据存储区(256字节)不建议使用xdata片外数据存储区(或片内扩展存储区)(最大64k字节)建议用于不常用非实时性程序code代码存储区(最大64k字节)建议用于大型常