当前位置: 首页 > wzjs >正文

无锡网站建设咨询热线网站友情链接检测

无锡网站建设咨询热线,网站友情链接检测,用动物做网站名称,一般公司网址都怎么写【08】单片机变量命名规范指南 (基于单片机开发实践,适用于 C/C 语言) 📌 核心原则 1️⃣ 清晰性:通过前缀、后缀、大小写区分变量类型、作用域、数据宽度等。 2️⃣ 一致性:同一项目内规则统一&#xf…

【08】单片机变量命名规范指南

(基于单片机开发实践,适用于 C/C++ 语言)

📌 核心原则

1️⃣ 清晰性:通过前缀、后缀、大小写区分变量类型、作用域、数据宽度等。
2️⃣ 一致性:同一项目内规则统一,避免混用不同命名风格。
3️⃣ 可读性:命名需反映变量用途,避免单字母(除循环变量)。


📝 1. 普通变量命名规范

🔹 类型前缀
前缀含义示例
uint8_t无符号8位局部变量uint8_tData
uint16_t无符号16位局部变量uint16_tCount
uint32_t无符号32位局部变量uint32_tTime
🔹 作用域标识
前缀含义示例
无前缀局部变量(默认)uint8_tTemp
G全局变量Guint8_tStatus
ES全局静态变量ESuint16_tCounter
S局部静态变量Suint32_tTimer

📝 2. 常量命名规范

🔹 常量前缀
前缀含义示例
C所有常量(全局/局部)Cuint8_tMaxValue = 255
C结合类型前缀(如 Cuint8_t, Cuint16_tconst unsigned int Cuint16_tLimit = 65535;

📝 3. 循环变量命名规范

  • 例外规则:循环变量允许使用单字母命名(如 i, j, k),无需遵循其他命名规范。
  • 示例
    for (unsigned char i = 0; i < 10; i++) {  // 循环体  
    }  
    

📝 4. 数组命名规范

🔹 用途后缀
后缀用途示例
Buffer普通数据缓冲区Guint8_tDataBuffer[10]
String字符串数组Guint8_tMessageString[50]
Table查找表/映射表const Cuint8_tLookupTable[] = {0x3F, ...};
Message存储结构化信息的数组uint8_tConfigMessage[16]

📝 5. 指针命名规范

🔹 指针前缀
前缀含义示例
p指针变量unsigned char *pGuint8_tData;
pC常量指针(指向常量)const unsigned int *pCuint16_tValue;
🔹 作用域与类型
前缀组合含义示例
pGuint8_t全局8位变量指针unsigned char *pGuint8_tArray;
pSuint16_t局部静态16位变量指针static uint16_t *pSuint16_tPtr;

📝 6. 结构体命名规范

🔹 结构体前缀
前缀含义示例
t结构体变量/指针struct StructData tConfig;
Gt全局结构体变量GtSensorData;
St局部静态结构体变量static struct Data StTemp;
pt结构体指针struct Struct *ptData;

📝 7. 宏常量命名规范

  • 全大写字母,单词间用下划线分隔。
  • 示例
    #define MAX_RETRIES 3  
    #define EEPROM_ADDR 0x50  
    

📝 8. 通用命名规则

🔹 单词分隔
  • 驼峰式命名:多个单词首字母大写,如 uint8_tGetFileLength
  • 下划线分隔:专业术语或难以断句的单词间用 _,如 Guint8_tESD_Flag
🔹 禁用规则
  • 避免单字母命名(除循环变量)。
  • 避免缩写(如 cntcount)。

🌟 总结

本规范通过 前缀+后缀+大小写 的组合,实现以下目标:
1️⃣ 类型可见uint8_t/uint16_t/uint32_t 明确数据宽度。
2️⃣ 作用域清晰G/ES/S 区分全局、静态变量。
3️⃣ 用途明确Buffer/Table/String 标识数组用途。
4️⃣ 可读性优先:宏常量全大写,结构体前缀统一。

实践建议

  • 新项目初期严格遵循规范,后期根据需求微调。
  • 单片机开发中需特别注意 b/h/l 类型修饰符(如 Keil C51)。
  • 代码注释需与命名规范互补,避免过度依赖注释。

💡 终极目标:让代码成为“自文档”,无需额外说明即可理解变量用途与约束。

http://www.dtcms.com/wzjs/532525.html

相关文章:

  • 南宁自助建站软件合肥网络推广
  • python网站开发详细步骤百度营销推广登录
  • 深圳网站建设制作订做网络营销是网上销售吗
  • 上海景朋建设工程有限公司网站做app推广去哪找商家
  • 博客网站做啥好佛山网页搜索排名提升
  • 拍卖行 网站建设网站推广的目的是什么
  • 中国建筑集团2023招聘官网北京百度推广排名优化
  • 视频 怎么做网站2019年度最火关键词
  • 云主机怎么做网站做网站的公司有哪些
  • 开发者选项在哪里打开vivo好的seo公司营销网
  • 开个网站做代理赚钱吗免费网站在线观看人数在哪直播
  • 如何先做网站再绑定域名网络整合营销是什么意思
  • 网站自建网址查询站长工具
  • win7怎么做网站衡阳seo外包
  • 文档下载免费网站佛山竞价账户托管
  • 正能量网站免费进入无需下载100个经典创意营销方案
  • 初中生电脑作业做网站怎么网络推广
  • 龙华网站(建设龙华信科)新闻源
  • 找国外人做网站seo检测
  • 做网站需要电脑吗网站推广和优化系统
  • 南昌做网站建设公司百度的特点和优势
  • 做网站服务武汉网站开发公司seo
  • 做排行榜的网站站外seo推广
  • 太极馆如何做网站seo工具包
  • 我爱做妈妈网站图片优化是什么意思
  • 万江仿做网站适合40岁女人的培训班
  • 广西玉林网站建设正规公司视频剪辑培训机构
  • [网络收集]form表单及网站开发中常用js表单取值方法代运营公司靠谱吗
  • 昆明学网站建设网站seo视频狼雨seo教程
  • 西部数码网站备案螺蛳粉营销策划方案