# 嵌入式编程规范 ## 一. 基本规范 ### 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 //这是一个注释 ``` 4. 数据格式 * 变量声明都按u8/u16/u32,s8/s16/s32格式 * 同类状态尽量按枚举类型定义,如 ```c enum U_SMS{SMS_WORK=0, SMS_CHARGE, SMS_SLEEP} flag; ``` * 同功能变量尽量定义结构体,便于管理和阅读