51单片机——模块化编程

devtools/2025/1/15 21:42:27/

1、模块化编程介绍

传统方式编程:所有的函数均放在main.c里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路。

模块化编程:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其它.c文件想使用其中的代码时,只需要#include "XXX.h"文件即可。使用模块化编程可极大的提高代码的可阅读性、可维护性、可移植性等。

2、模块化编程框图

3、模块化编程注意事项

.c文件:函数、变量的定义

.h文件:可被外部调用的函数、变量的声明

任何自定义的变量、函数在调用前必须有定义或声明(同一个.c)

使用到的自定义函数的.c文件必须添加到工程参与编译

使用到的.h文件必须要放在编译器可寻找到的地方(工程文件夹根目录、安装目录、自定义)

4、C预编译

C语言的预编译以#开头,作用是在真正的编译开始之前,对代码做一些处理(预编译)

此外还有#ifdef,#if,#else,#elif,#undef等

5、模块化后的代码

该代码由上一节(数码管控制)修改而来

编译无错误

 


http://www.ppmy.cn/devtools/104008.html

相关文章

EXCEL文件如何批量加密,有什么方法

EXCEL文件的加密,通常在EXCEL软件上进行设置,它有打开密码与写保护密码,如果有多个文件的话,想通过一键设置的方法进行密码设置,那么它通常需要用到第三方软件进行批处理,因为EXCEL软件只能对当前打开的文件…

G722.1.C简单介绍

目录 一、编码参数二、编码特性三、解码特性四、应用领域五、优缺点 G.722.1 Annex C ("G.722.1C") 引用其他文章介绍: This paper describes the low-complexity 14 kHz audio coding algorithm which has been recently standardized by ITU-T as Recom…

Milvus向量数据库-数据备份与恢复

前言 随着Milvus版本的持续迭代,越来越多的用户将其作为构建生产环境的向量数据服务使用。作为数据服务使用,其中的运维、数据安全、容灾备份自然是用户最关心且不容有失的需求。为解决这一需求,Milvus-backup项目工具应运而生。 Milvus-ba…

备考AMC10美国数学竞赛2024:吃透1250道真题和知识点(持续)

有什么含金量比较高的初中生数学竞赛吗?美国数学竞赛AMC10是个不错的选择。那么,如何备考AMC10美国数学竞赛呢?做真题,吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一。 通过做真题,可以帮助孩子找到真实竞赛…

FFmpeg的入门实践系列六(编程入门之常见处理流程)

欢迎诸位来阅读在下的博文~ 在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力 文章目录 前期博客参考书籍一、FFmpeg常见的处理流程复制编解码器的参数完整代码 二、创建并写入音视频文件三、总结附页 前期博客…

速盾:深度解析高防cdn原理及应用

高防CDN(Content Delivery Network)是一种网络安全服务,旨在提供对网站和应用程序的高级保护,防止由于恶意攻击或意外事件导致的网络中断和数据泄露。它结合了内容传输和网络安全技术,通过在全球范围内的多个节点分发和…

HTTP 之 Web Sockets处理恶意的Payload的策略(十一)

处理恶意的 Payload 主要涉及到输入验证、清理和在某些情况下对数据进行适当的转义。 1. 输入验证(Validation) 验证所有通过 WebSockets 接收的数据以确保它们符合预期格式。例如,如果你期望一个数字,验证接收到的数据是否为数字…

如何选到好的宠物空气净化器?有没有推荐的品牌?

从最初的手忙脚乱、对宠物养护知识一无所知的新手小白,到如今能够游刃有余地处理各种宠物问题、养宠多年的资深铲屎官,这么久,我也积累了不少的经验,就是希望能为自家的毛孩子提供最健康、最适合的生活。 这么久的养猫历程遇见的…