迟思堂工作室编程规范:单片机C语言

1、头文件:

头文件一般是声明外部或内部变量、函数以及定义的宏。一般不作变量的初始化。

其格式为:

#ifndef __MY_TYPE_H__

#define __MY_TYPE_H__

.

.

.

#endif /* __MY_TYPE_H__ */

或:

#ifndef _MY_TYPE_H

#define _MY_TYPE_H

.

.

.

#endif /* _MY_TYPE_H */

两者均可以。

2、注释:

多行注释的格式为:

/*

* this is the comment…

* this is the comment…

*/

单行注释为:

/* this is the comment */

请注意:

(1)、*与注释文字是有一个空格的

(2)、在可能方便的情况下可以使用C++格式的注释,注释格式为:

// this is the comment

(3)、注释文字可为中文,亦可为英文,因人而定。

3、Tab宽度:

Tab宽度设置为8。特别情况可以设置为4。

4、文件说明:

一般在主要程序开头处说明了本程序的功能,测试环境,比如所选用的芯片、晶振和所用编译器等等。

5、函数和变量:

程序的变量、函数名称等均用小写表示,但定义的宏大写。函数一般为有表示动作的词语,如有多于两个词,中间可以用下划线连接(即_),也可以不用,名称使用有意思的文字,如:

write_cmd(uint8 cmd)

write_command(uint8 command)

或者:

writecmd(uint8 cmd)

writecommand(uint8 command)

均为正确形式,可接受。首选第一种方式。但不能接受下列的函数:

int aa(int bb,int cc)

{

return bb + cc;

}

另外:文件名大写小写均可,但要统一使用同一种风格。

6、杂项:

(1)、程序一般均有头文件与相应的函数实现文件,如:M16_SPI.h和M16_SPI.c,在测试程序文件只需要 #include ”M16_SPI.h”即可。不能将所有函数、变量放在M16_SPI.c文件中,更不能出现#include “M16_SPI.c”这类情况,尽管编译器不会报错。

(2)、对于运算符号、逻辑符号等等空格问题,只要能突出主次符号即可,其他者形式不限。

(3)、对于一些C99新增特性,如使用的编译器支持者,采用之。如一般使用

for (int i=0;i<8;i++)

这类的形式。

7、其它未尽事宜,参考Linux内核源代码目录下的Documentation中的CodingStyle文件。

8、本规范仅适用迟思堂工作室,不具代表性。

迟思堂工作室编程规范:单片机C语言相关推荐

  1. linux点阵ascii像素字体,点阵字体显示系列之一:ASCII码字库的显示 | 迟思堂工作室...

    起因: 早在阅读tslib源代码时就注意到里面有font_8x8.c和font_8x16.c两个文件(后来才得知,它们来自Linux内核,具体目录是./drivers/video/console),它 ...

  2. 单片机c语言编程下载,单片机C语言编程.doc

    单片机C语言编程.doc 单片机C语言编程指令格式 功能简述 字节数 周期 一.数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,Ri ...

  3. 51单片机c语言编程函数,单片机C语言教程:C51函数

    其实一直出现在例子中的 main()也算是一个函数,只不过它比较特殊,编译时以它做为程序的开始段.有了函数C 语言就有了模块化的优点,一般功能较多的程序,会在编写程序时把每项单独的功能分成数个子程序模 ...

  4. stc15系列c语言pwm编程,STC单片机C语言程序设计 第25章 STC单片机增强型PWM原理及实现.docx...

    STC单片机C语言程序设计 第25章 STC单片机增强型PWM原理及实现 STC单片机增强型PWM发生器原理及应用主 讲:何宾Email:hebin@mail.buct.edu.cn2016.03增强 ...

  5. 单片机c语言编程规则,单片机C语言编程规则

    §5 编写高质量的单片机C程序 高质量的单片机C程序代码运行效率高.可读性和可维护性强.在编写小型的单片机程序时,代码质量的重要性可能不是很明显.但如果要编写较大规模的程序,特别是多人合作编写程序时, ...

  6. c语言各种编程风格 微软 gnu,编程规范-c语言的编程风格

    第一章:缩进格式 Tab是8个字符,于是缩进也是8个字符.有很多怪异的风格,他们将缩进格式定义为4个字符(设置为2个字符!)的深度,这就象试图将PI定义为3一样让人难以接受. 理由是:缩进的大小是为了 ...

  7. c52单片机c语言编程,c52单片机c语言编程怎样实现阴历查询

    原创 农历转阴历 c语言收藏 /* 2008.5.3-2008.5.8 呵呵!最近没什么是,打算自己做个万年历,下面是我在网上下的一个程序, void  solar_lunar(unsigned in ...

  8. 嵌入式C语言编程规范

    前言 代码首先是给人看的,其次才是给机器执行的,因此一般情况下代码的可读性优先于性能,只有确定性能是瓶颈时,才需要主动优化. 可读性高的代码应当是易于理解并且易于实现的,代码越长越难看懂,可能出错的地 ...

  9. 单片机c语言实验,单片机实验C语言编程.doc

    单片机实验C语言编程.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档所 ...

最新文章

  1. java随机数 时间_Java 随机数
  2. Kibana可视化管理页面详细使用说明
  3. 深度学习笔记(2) 神经网络基础
  4. 转载 linux系统调用和库函数调用的区别
  5. 通用业务平台设计(一):概览
  6. 机器学习强化(数据清洗、实战理解)
  7. Matlab 绘制 1931 CIE色品图 并标点
  8. Code3Kingdom - Tech Support
  9. grub4dos和bootmgr双启动
  10. python_d05
  11. 什么是聚合页面?网站优化做聚合页面的好处
  12. Me安装教程(同pr)
  13. python xlrdxlwt应用 以文本形式存储数字 数字前补零
  14. 正则表达式 re sys os random time 模块
  15. 为什么需要软件开发报告
  16. 【DC系列】DC-4靶机渗透练习
  17. python画好看的图案-妈耶,python的散点图竟然能画这么好看!
  18. Maximum Likelihood (MLE) Maximum a posteriori (MAP)的分別
  19. bupt信通院上机第一学期实验四(30-37) 指针
  20. Filezilla+花生壳内网穿透实现外网可以访问 避坑指南

热门文章

  1. “反催收”渐成黑灰产业 专家呼吁协同治理“债闹”黑灰产
  2. 消息称ARM CEO已辞职 与660亿美元卖身NVIDIA失败无关
  3. 网信办:2021年全国受理网络违法和不良信息举报1.66亿件
  4. 小米申请雷军签名商标获批
  5. realme GT2 Pro获3C认证:65W超级快充加持
  6. 造假暴赚260亿的资本“大忽悠”,终于倒下了
  7. 快手封禁网红殷世航:涉及炒作卖货、低俗表演等违规行为
  8. 华为金融业务部总裁曹冲:没有进入支付市场的计划
  9. 鸿蒙系统将登陆2亿台华为手机,“别的厂商想用,我们会支持!”
  10. 苹果已开始研发蜂窝调制解调器 不只是用于iPhone