diff --git a/嵌入式编程/嵌入式编程规范.md b/嵌入式编程/嵌入式编程规范.md index 84d6b84..6845fbc 100644 --- a/嵌入式编程/嵌入式编程规范.md +++ b/嵌入式编程/嵌入式编程规范.md @@ -1,7 +1,62 @@ # 嵌入式编程规范 ## 一. 基本规范 -1. 使用C99标准 -2. 不适用Tab,只用空格;每个缩进使用四个空格,关键字和左括号之间使用一个空格 -3. -4. \ No newline at end of file +### 1.空格的使用 +1. 不适用Tab,只用空格;每个缩进使用四个空格, +2. 关键字和左括号之间使用一个空格,函数名和括号之间不要空格 +3. 操作符前后加空格,逗号后面加空格;比如:` a + b = 10; ` +### 2.命名规则 +1. 尽量只使用小写字母,第二个单词开始首字母大写,尽量不用数字和缩写 +2. 全局变量使用p_前缀开头,全局函数用L_开头 + +### 3.编写风格 +1. 花括号总与关键字在同一行,比如: +```c +int i; +for (i = 0; i < 5; ++i) { + nop(); +} +``` +2. 模块文件对外尽量只暴露全局函数,减少跨文件全局变量,必须要用的时候extern在头文件引出 + +3. 注释风格 +* 文件头用块注释,例如 +```c +/********************************************************** +* 文件名: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 +**********************************************************/ +``` +* 函数使用块注释,类似如下 +```c +/************ + * 函数名称 + * 函数描述 + * 参数及返回值说明 + * 注意事项 + ************/ + ``` +* 句子用行注释,如下 +```c +//这是一个注释 +```