嵌入式基础-C语言命名规则

定义宏定义,全局变量,功能函数命名规则不仅优化代码的可读性,还方便其他人员开发

1.宏定义命名规则

宏定义可以划分为项目宏定义和变量宏定义
项目宏定义:要求清楚描述被某个功能所用
变量宏定义:要求清楚描述属于某个功能的变量


项目宏定义:定义需要被其他开发人员认可方可作为标准

#define SUPPORT_FEFD_IR						1 /* 支持喂食红外对管功能 */
#define SUPPORT_FOOD_IR						1 /* 支持桶内余粮红外对管功能 */
#define SUPPORT_STEPPER_MOTOR				1 /* 支持步进电机功能 */
#define SUPPORT_ULTRASONIC_MODULE			1 /* 支持超声波模块功能 */

变量宏定义:变量宏定义需要统一标准,精确到属于某个功能模块的变量

#define DEF_JKCOM_FEFD_IR_CHECK_NUM					5 /* 触发落粮时的检测5次 */
#define DEF_JKCOM_FOOD_IR_CHECK_TIME				10 /* 周期检测桶内余粮情况10秒 */
#define DEF_JKCOM_STEPPER_MOTOR_MAX_STEP_SIZE		8 /* 步进电机最大步长 */
#define DEF_JKCOM_ULTRASONIC_MODULE_CHECK_NUM		5 /* 超声波模块检测5次 */

2.全局变量命名规则

全局变量需要清楚描述属于某个功能,作用要区分为标志位还是计数

unsigned char g_JKCom_feed_ir_detect_flag = 0; /* 喂食红外对管触发标志 */
int g_JKCom_feed_ir_detect_num_now = 0; /* 喂食红外对管目前累计触发的次数 */
unsigned char g_JKCom_food_ir_detect_flag = 0; /* 桶内余粮红外对管触发标志 */

3.功能函数命名规则

功能函数命名需要区分功能模块,如有多种需求则要按照客户命名来实现
Wrap说明函数可以被外部其他文件和功能模块调用,没有Wrap则为内部函数调用

#define _IN 	/* 参数传入 */
#define _OUT 	/* 参数传出 */

void JKCom_feed_ir_detect(_IN int num,_IN int time); /* 喂食红外对管检测函数 */
void JKCom_food_ir_detect(_IN int num,_IN int time); /* 喂食红外对管检测函数 */
void Wrap_JKCom_XA_feed_reversal(_IN int num,_IN int time); /* 代表某客户的定制反转功能 */
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

WangMing_GZ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值