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

模块化编程规范与分层设计指南

一  模块化编程的规范

1 模块编程的概述

模块化编程就是指把不同的功能封装到多个文件里面去
比如把不同的外设驱动放到不同的文件里面去

2 规则

(1)工具函数和常规宏定义

所有特定的算法,工具函数和常规宏定义

如这些include所包含的包,还有就是自定义类型等
目录:Com/
前缀:Com_

2 驱动层

所有与芯片直接交互的自身硬件代码,例如GPIO开关,硬件UART和ADC的驱动,计时器等,就是读取和写就放到这里
目录:Dri/
前缀:Dri_

3 接口层

位于驱动层之上,通过标准接口(GPIO,UART,IIC,SPI等)驱动的外部硬件代码,如果没有外部硬件设备,可以不用这一层
目录:Int/
前缀:Int_
比如:单片机----外部屏幕 ----温度传感器 ----等等
理解:就是在驱动层读数据和写数据,然后接口层就是对于信号和外部硬件代码放到接口层

4 中间层

提供更加高级的服务,如:操作系统,文件系统和空间协议栈等,这层通常用于复杂的单片机项目,例如:使用RTOS的项目,简单的项目可以不用这一层
目录:Mid/
前缀:Mid_

5 应用层

包含应用程序的主要逻辑,该层应只与上面的中间件层或者接口交互,尽量不直接访问驱动层
目录:APP/
前缀:APP_

6 命名规则

7 函数的命名

第二点比如:Int_Digital_shansuo---->接口层的数码管的闪烁

http://www.dtcms.com/a/393215.html

相关文章:

  • Photoshop - Photoshop 调整照片的颜色强度
  • 【ROS2】通讯机制 Topic 常用命令行
  • DeepSeek的GPU优化秘籍:解锁大规模AI训练的底层效率
  • Gemini in Chrome深度解析:反垄断胜诉后,Chrome开启AI智能浏览时代!
  • 如何修复 Google Chrome 上的白屏问题
  • Camera2原生api级 Demo答
  • 【Redis】Redis缓存与数据库DB数据如何保持同步?
  • 考研408---C语言复习
  • 批量抓取图片
  • WinDivert学习文档之五-————编程API(十一)
  • 【打印菱形】
  • XC7Z100-2FFG900I Xilinx AMD Zynq-7000 FPGA SoC
  • 成本价的SEO优化服务供应链
  • dock生命周期体验-生到死的命令
  • 软件测试方案-模板一
  • 防火墙WEB方式登录配置【HCL模拟】-学习篇(1)
  • Ceph用户管理与cephFS分布式存储实战
  • AgenticSeek:重新定义AI助手的边界 - 100%本地化智能代理系统深度解析
  • 701. 二叉搜索树中的插入操作
  • Spring AI(六)Tool Calling本地回调方法
  • 《2511系统分析师第二遍阅读总结3》
  • 【Linux】系统部分——线程同步与生产者消费者模型
  • No008:共建产业知识生态——DeepSeek如何助力中小企业数字化转型
  • 3.8 开发环境 - IntelliJ IDEA
  • Paimon系列:IDEA环境读写Paimon表
  • Java进阶教程,全面剖析Java多线程编程,插入线程,笔记10
  • 成品油加油站综合服务智慧监管平台! “智控油站,计量秒核查” + “数治加油,科技防猫腻”
  • C++编程学习(第34天)
  • 【数据结构与算法Trip第5站】动态规划
  • 防抖那些事儿