MCU嵌入式C代码编码规范

  

目次. I

前言. II

1 规范制定说明. 1

2 适用范围. 1

3 基本原则. 1

4 组织构成及排版要求. 1

4.1组织构成及包含内容. 1

4.2 文件书写的层次. 1

4.3 排版要求. 2

5 注释. 3

5.1文件头和函数头. 3

5.2 注释. 4

6 命名规则. 5

6.1 命名规则总则. 5

6.2 变量命名规则. 6

6.3文件及函数命名. 7

6.4新定义的类型命名规范. 7

7 变量、常量、宏定义与类型. 7

8.指针和数组、结构与联合. 8

9 初始化、声明和定义. 9

9.1初始化. 9

9.2声明和定义. 9

10 控制语句和表达式. 10

11 函数. 10

12 预处理指令. 11

13 其余规则. 11

  

为提高产品代码质量,指导嵌入式软件开发人员编写出简洁、可维护、可靠、可测试、高效、可移植的代码,避开危险的编程方式,编写了本规范。

本标准由XX公司  XX部提出。

本标准由XX公司  XX部归口。 

本标准起草单位:

本标准主要起草人:

本标准主要修改人:

参考《MISRA 2004编码规则》。

编制

校对

审核

标准

批准

批准日期

XX

XX

嵌入式编程手写C代码编码规范

1 规范制定说明

本规范制定的意义在于提高代码的可读性,使代码标准化,为代码的集成、测试、维护、审查提供便利。

本规范作用在于约束代码编写规则,宗旨是使得代码简洁明了,可读性及可移植性强、易于维护。

本规范给出嵌入式软件C语言编码格式要求,并从排版要求、注释要求、命名规则、变量常量宏定义及类型、初始化、声明及定义、控制语句与表达式等方面详细给出编码规则,便于C语言编码人员及代码静态测试人员使用。

2 适用范围

本规范适用于XX公司嵌入式编程手写C代码开发,如VCU控制器手写代码部分的开发。

3 基本原则

1)代码简洁、语句清晰,风格统一。     

2)注释清晰明了,便于阅读。

3)代码结构清晰,可读性强,便于维护与测试。

4)模块化编程,尽量少用全局变量,避免使用GOTO语句。

5)通俗易懂不产生歧义。

4 组织构成及排版要求

4.1组织构成及包含内容

嵌入式代码源代码中包含头文件(.h)及源文件(.c),包含的内容为:

1)头文件:文件头说明、提供给外部参考的类型、常量、宏定义、(全局)函数声明、全局变量的原型声明,不要定义变量。

2)源文件:文件头说明、函数头说明、只在本文件中使用的类型、常量、宏定义及全局变量和文件级(static)变量定义。

4.2 文件书写的层次

1)实现文件(.C文件)的层次:

文件头

#include (依次为标准库头文件,非标准库头文件)

文件内部常量定义

文件内部宏定义

文件内部数据类型

文件内部静态全局变量

函数原型定义

2)声明文件(.H文件)的层次:

文件头

#ifndef _文件名_H (全大写)

#define _文件名_H (全大写)

其他条件编译选项

#include (依次为标准库头文件,非标准库头文件)

全局常量声明

全局宏声明

全局数据类型声明

全局变量声明

外部引用

全局函数原型声明

#endif  /* _文件名_H */

注意事项:

  1. 头文件尽量通过宏定义避免重复包含。
  2. 包含标准库头文件使用尖括号“<>”,包含非标准库头文件使用双引号“” ””。

4.3 排版要求

  1. 程序块采用缩进风格编写,缩进的空格数为4个,缩进采用空格键,不使用tab键。
  2. 相对独立的程序块之间、变量说明后必须加空行。
  3. 代码行不宜过长,较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

eg:act_task_table[taskno].duration_true_or_false

              = SYS_get_sccp_statistic_state( stat_item );

  1. 若函数或过程中的参数较长,则要进行适当的划分。函数调用和函数声明续行在第一个参数处对齐,类型与名称不能分行书写。

eg:

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在eclipse中进行嵌入式开发时,可以通过安装相应的插件来实现代码提示的功能。其中,常用的插件有CDT(C/C++ Development Tools)和GNU MCU Eclipse插件。 CDT是eclipse官方提供的插件,它为C和C++开发提供了丰富的功能,包括代码编辑、调试、构建等。安装CDT插件后,你可以在eclipse中创建C/C++项目,并在编辑代码时获得代码提示、自动补全等功能。 GNU MCU Eclipse插件是一个第三方插件,它专门为嵌入式开发提供支持。该插件基于CDT,并集成了GNU工具链,可以方便地进行嵌入式开发。安装GNU MCU Eclipse插件后,你可以在eclipse中创建嵌入式项目,并获得针对嵌入式开发的代码提示、自动补全等功能。 你可以通过在eclipse的插件市场中搜索并安装这些插件,或者直接从官方网站下载并手动安装。安装完成后,你就可以在eclipse中享受到代码提示的便利了。 #### 引用[.reference_title] - *1* *3* [eclipse调试基于freertos的嵌入式工程](https://blog.csdn.net/cyjbj/article/details/127856164)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用Eclipse搭建STM32嵌入式开发环境](https://blog.csdn.net/luobeihai/article/details/127946814)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电气_空空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值