首页/新闻资讯/正文详情

嵌入式c语言编程的一些概念合并或正式提出

发布时间:2026/9/27 22:01:46 来源:云帆数科 栏目:资讯中心
嵌入式c语言编程的一些概念合并或正式提出
最近我在写stm32单片机程序有一些概念在前面我总结的文章中没有明确提出来但是含义已经表达清楚了今天这篇文章就是对这些概念进行总结合并并正式提出。1应用层和驱动层。我以前文章中多次提到我是按照模块化编程编写stm32单片机程序的模块化的意思就是将整个硬件PCB使用的硬件外设进行划分分成多份每一份对应一个模块表现为一对头文件和源文件。其实这里模块的概念就是驱动编写的代码也就是驱动层的程序“模块驱动”。这些模块程序或者驱动程序是控制PCB上的硬件外设的对应着原理图中的led、buzzer、lcd等资源。前面之所以称之为模块而没有显式提出驱动的概念是因为没有写到应用层。当编写业务功能的时候编写的代码就是应用层程序调用驱动层的程序的各个资源公共全局变量、公共宏定义、公共类型定义、公共API函数。总之硬件层---调用寄存器、HAL库函数---》驱动层模块层---》应用层业务逻辑层2c语言中的私有private、公共public概念学过c语言的都知道c语言不像c一样支持关键字private、public。私有和公共两个概念主要是文件作用域和文件间作用域的区别。私有主要是static修饰的全局变量我现在叫“私有全局变量”、static修饰的函数我现在叫“私有函数”、文件内部定义的数据类型我现在叫私有数据类型、文件内部定义的宏定义我现在叫私有宏定义。公共主要是能够文件与文件间访问的普通全局变量我现在叫公共全局变量、普通函数我现在公共函数、头文件中定义的数据类型叫公共数据类型、头文件中定义的宏定义叫公共宏定义。3再议c语言中关键字return、goto、continue、break、return关键字是用的最多的关键字它的含义为结束函数直接返回权限特别高只要一运行到所在函数就立即退出如果有返回值则除了直接退出函数之外还顺带返回一个结果或者错误状态码。无论在顺序、循环、判断三种程序架中哪种只要遇到return直接退出所在函数使用的频率是最高的。goto xxx语句无条件跳转到XXX语句继续运行goto关键字的权限也特别高无论是不是在循环语句或者分支判断语句中只要一遇到都无条件跳转到XXX所在语句继续运行。continue关键字的使用场景比较单一应用于循环语句中continue在某个if条件判断中当条件满足时自动跨过剩下的部分循环语句继续执行下一次循环。break关键字使用场景有两种第一种应用于阶梯判断语句switch-case当遇到时直接打断当前阶梯判断语句。当程序运行到break关键字后直接跳出整个switch-case阶梯判断语句防止程序“穿透”到下一个case条件。第二种应用与循环语句中满足某条件时提前结束循环不用等循环条件不满足时才结束循环常与某个if触发判断条件相结合。当程序遇到break关键字后自动跳出break所在的第一层循环无论是for循环、while循环、do-while循环。continue、break关键字在循环语句中用法总结continue关键字用于循环语句中当某个if条件满足时跳过后面剩余代码继续进行下一次循环break关键字用于循环语句中当某个条件满足时提前结束整个循环。两者使用的共同特点是都在某一个if条件判断的“选择体”代码块中。循环体循环语句的代码块。选择体分支判断语句的代码块。

相关推荐

OpenClaw 实战避坑:从 gateway 配置到 skill 加载的问题记录与 tips 汇总
OpenClaw 实战避坑:从 gateway 配置到 skill 加载的问题记录与 tips 汇总

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:01:46

OpenViking 调研:用 TaoToken 统一 Key 打通配置与验证链路
OpenViking 调研:用 TaoToken 统一 Key 打通配置与验证链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:01:40

网站建设所要花费的资金一文搞懂:小白避坑指南
网站建设所要花费的资金一文搞懂:小白避坑指南

网站建设所要花费的资金一文搞懂:小白避坑指南 自己不会代码,想做网站却怕被坑?别慌,这行水深,但底细能摸透。今天咱们不整虚的,直接拆解网站建设所要花费的资金,一文搞懂从域名到上线的每一笔钱花在哪。很多初学者刚入行,对着报价单一头雾水,不知道… · 2026/9/27 22:01:40

AIGC智能编程实战:大模型代码助手巧学巧用与TaoToken配置指南
AIGC智能编程实战:大模型代码助手巧学巧用与TaoToken配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:33:47

OpenAI自研芯片降本50%背后:用TaoToken统一Key打通AI工具链配置
OpenAI自研芯片降本50%背后:用TaoToken统一Key打通AI工具链配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:33:47

MacOS/Linux 安装 ClaudeCode 终极指南:TaoToken 统一 Key 配置与 Vscode 调试技巧
MacOS/Linux 安装 ClaudeCode 终极指南:TaoToken 统一 Key 配置与 Vscode 调试技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:33:47

AI Agent上线后第一个大坑:用TaoToken统一Key排查它为什么开始“不听话”
AI Agent上线后第一个大坑:用TaoToken统一Key排查它为什么开始“不听话”

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:33:47

VSCode 主题 Nebula Theme 配 TaoToken:settings.json 骨架与主题切换验证
VSCode 主题 Nebula Theme 配 TaoToken:settings.json 骨架与主题切换验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:33:47

OpenClaw v2026.4.9 初始化安装推荐“技能包”(Skills):TaoToken 统一 Key 接入与 config.toml 骨架
OpenClaw v2026.4.9 初始化安装推荐“技能包”(Skills):TaoToken 统一 Key 接入与 config.toml 骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:33:40

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码