- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5 全局变量定义时初始化
1 编辑器 3
2 程序文件的结构 3
2.1 说明 3
2.2 编译宏定义 4
2.3 包含文件 4
2.4 用户数据类型定义 4
2.5 管脚定义 5
2.6 常量 5
2.7 变量 5
2.8 正文 6
2.8.1 正文顺序[推荐] 6
2.8.2 正文内容 6
2.9 长的常量数组 6
3 命名 7
3.1 常量、编译宏命名 7
3.2 变量命名 7
3.3 函数命名 8
4 程序的版式 9
4.1 缩进:统一使用编辑器的TAB键进行缩进,同时设定其缩进量为系统默认 9
4.2 空行:相对独立的程序块之间、变量说明之后必须加空行 10
4.3 代码行 11
4.3.1 一行代码只做一件事情 11
4.3.2 if、for、while、do 等语句自占一行 11
4.3.3 程序块的分界符独占一行 12
4.3.4 多运算符的代码行,不使用默认优先级 13
4.3.5 不要使用难懂的技巧性很高的语句 13
4.4 空格 14
4.4.1 必要时留空格,使代码更清晰 [推荐] 14
4.4.2 二元操作符前后留空格 14
4.4.3 一元操作符前后不留空格 14
4.5 长行拆分 15
4.5.1 较长的语句(80字符)要分成多行书写 15
4.5.2 循环、判断等语句要在低优先级操作符处划分新行 16
4.5.3 函数或过程中的参数较长,则要进行适当的划分 16
5 全局变量定义时初始化 16
6 注释 17
6.1 必须加注释的位置[推荐] 17
6.2 注释应适量且准确[推荐] 17
6.3 函数接口的注释格式 17
6.4 变量的注释格式[推荐] 18
6.5 注释与所描述内容进行同样的缩排 19
6.6 将注释与其上面的代码用空行隔开 20
6.7 程序块结束行加注释 [推荐] 20
7 EEPROM数据保护 21
8 程序失效复位处理[推荐] 21
9 检查 21
9.1 数组下标检查 21
9.2 指针检查 22
9.3 易混淆操作符检查 22
9.4 右值变量检查 22
9.5 差1错误检查 22
9.6 变量溢出检查 23
9.7 类型转换检查 23
编辑器
程序统一使用VC的编辑器。
程序文件的结构
如果没有涉及使用平台化的用户文件,通常只能有一个用户主程序文件。
用户程序文件的内容按说明、编译宏定义、包含文件、用户数据类型定义、管脚定义、常量、变量、正文、长的常量数组的顺序编写。
说明
说明:说明位于用户程序文件的开头,主要内容有:
(1)版权信息。
(2)文件名称。
(3)程序说明:说明程序用途、功能及使用方法等。
(4)版本记录。
(5)开发环境。
示例:
//版权信息
//Copyright (c) 2001, XXXXXX有限公司 产品开发部
// All rights reserved.
// 文件名称: filename.c
// 程序说明: XXXXX主程序……
//版本记录:
//V101:
//1、增加警铃输出延时;
//2、修正****Bug。
//作者:***
//时间:****.**.**
//V100:正式发布。
//作者:***
//时间:****.**.**
//编译工具:Keil C 6.0
编译宏定义
说明:同一产品的不同硬件程序和系列产品的程序,应采用编译宏定义,来减少维护的工作量;
包含文件
说明:包含引用的标准库头文件以及用户头文件。用#include filename.h 格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。用#include “filename.h” 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。
示例:
#include lib_header.h
#include “user_header.h”
用户数据类型定义
说明:定义结构、联合、枚举以及其它非标准的数据类型;
示例:
typedef union MacData //联合
{
unsigned char Buf[16]; //缓冲区
struct //结构
{
unsigned char Mac; //类型
unsigned char Len; //长度
unsigned char Addr; //地址
unsigned char Data[13]; //数据
}Msg;
};
#define uint unsigned int;//自定义数据类型
管脚定义
说明:定义本程序使用的管脚。
常量
说明:
有特定意义的常数必须进行宏定义;
同一特定意义的常数如在多个地方应用,必须进行宏定义;
调试维护需要调整的常数必须进行宏定义;
无特定意义的循环上、下限,不需进行宏定义。
变量
说明:定义程序所使用的变量。
有
您可能关注的文档
- (国中部)104学年度上学期第一次月考国二自然与生活科技试题卷.doc
- 070-2015清华大学发展中国家研究博士项目博士生招生简章.doc
- 1 - 暖通空调.doc
- 0605020204与饭店部门合作的步骤及注意事项.ppt
- 03 纳雍县活禽屠宰冷链物流配送中心项目环境 - 毕节市环境保护局.doc
- 1 水冷多联机系统的数学模型 - 空调.doc
- 1 采集标本.doc
- 10 通信原理综合实验报告.doc
- 1 总论 - 衡水信息公开.doc
- 104年实验场所安全卫生查核表.doc
- 2025年上海市花卉冷链仓储配送一体化建设可行性研究报告.docx
- 2025年上海市船舶制造换热器海水防腐处理可行性研究报告.docx
- 成本控制在项目管理中的作用.pptx
- 2025年广西卫生职业技术学院单招职业技能考试题库及答案一套.docx
- 2025年广西信息职业技术学院单招职业技能考试题库必考题.docx
- 2025年上海市艺术园区鲜肉创意料理工坊运营可行性研究报告.docx
- 2025年广西信息职业技术学院单招职业技能考试题库必考题.docx
- 2025年上海市黄磷安全生产管理优化研究报告.docx
- 2025年天津市肉牛营养调控技术对肉质提升的应用可行性研究报告.docx
- 七年级上册数学同步练习(人教版2024)42整式的加减(3)(新教材,分层培优提分练)(试卷+解析).docx
文档评论(0)