TBooks/嵌入式编程/嵌入式编程规范.md
2021-08-30 14:43:35 +08:00

2.1 KiB
Raw Permalink Blame History

嵌入式编程规范

一. 基本规范

1.空格的使用

  1. 不适用Tab,只用空格;每个缩进使用四个空格,
  2. 关键字和左括号之间使用一个空格,函数名和括号之间不要空格
  3. 操作符前后加空格,逗号后面加空格;比如:a + b = 10;

2.命名规则

  1. 尽量只使用小写字母,第二个单词开始首字母大写,尽量不用数字和缩写
  2. 全局变量使用p_前缀开头全局函数用L_开头

3.编写风格

  1. 花括号总与关键字在同一行,比如:
int i;
for (i = 0; i < 5; ++i) {
    nop();
}
  1. 模块文件对外尽量只暴露全局函数减少跨文件全局变量必须要用的时候extern在头文件引出

  2. 注释风格

  • 文件头用块注释,例如
/**********************************************************
* 文件名:main.c
* 功能:功能测试
* 器件型号:FT61F02X
* 振荡器:内部RC 16MHz/2T
* Memory: Flash 2KX14b, EEPROM 256X8b, SRAM 128X8b
* 引脚定义:
*                 ----------------
*  VDD-----------|1(VDD)   (GND)16|------------GND
*  NC------------|2(RA7)   (PA0)15|-------------nc
*  NC------------|3(PA6)   (PA1)14|-------------NC
*  NC------------|4(PA5)   (PA2)13|--------IIC_SDA
*  NC------------|5(PC3)   (PA3)12|-------------NC
*  NC------------|6(PC2)   (PC0)11|-------------NC
*  IIC_SCL-------|7(PA4)   (PC1)10|-------------NC
*  NC------------|8(PC5)   (PC4)09|-------------NC
*                 ----------------
*                 FT61F023 SOP16
*说明:
* 1.PA2--SCL /PA3--SDA /PC1--GPIO /PA4--XSHUT
* 2.PC4--TX  / PC0--RX
* 3.PC2--Motor / PC3--BZ 
* 4.PA6/PA7 -- LEDS
**********************************************************/
  • 函数使用块注释,类似如下
/************
 * 函数名称
 * 函数描述
 * 参数及返回值说明
 * 注意事项
 ************/
  • 句子用行注释,如下
//这是一个注释
  1. 数据格式
  • 变量声明都按u8/u16/u32,s8/s16/s32格式
  • 同类状态尽量按枚举类型定义,如
enum U_SMS{SMS_WORK=0, SMS_CHARGE, SMS_SLEEP} flag; 
  • 同功能变量尽量定义结构体,便于管理和阅读