ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

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

嵌入式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条件判断的“选择体”代码块中。循环体循环语句的代码块。选择体分支判断语句的代码块。
返回列表