STM32的模块化编程+CubeMX

一、为啥要用模块化编程
在我们实际应用中,当你的代码长度长起来了以后就会发现,想自己以前的代码里面找到之前定义的模块很麻烦,因为代码太多太繁杂了,你很难有一个清晰的分类,这就导致了代码的臃肿性,并且别人也很难看懂你的代码。
这时候就可以彰显模块化的作用了,它使得整个项目分工明确,条理清晰,易于阅读,便于移植,等优点
二、keil5里面又该如何操作呢?
下面操作均使用keil5+cubemx操作
image
image
image
这个是我新建的一个keil5+cubemx全新工程,以下操作均按照这个工程操作(所有工程的操作都是一样的)
第一步:首先我们观察这里有cubemx自动生成的文件目录(个人习惯建立一个用户文件夹放自己写的模块化代码)
image
第二步:去我们选择生成的工程目录下,新建一个名字叫USER的文件夹(只要是英文就可以)
image
第三步:点击这里的品字格
image
第四步:点击这个黄色框
image
第五步:输入刚刚创建的文件名称,然后点击OK
image
第六步:点击旁边的魔术棒
image
第七步:调转到c/c++这一栏
image
第八步:点击后面的这个...
image
第九步:点击那个黄色的框
image
第十步:点击后面的三个点
image
第十一步:在弹出来的框当中选择刚刚创建的USER文件夹
image
第十二步:然后一路点击OK
image
第十三步:在旁边的project当中右键刚刚创建的文件夹名称
image
第十四步:选择add new item to xxxx
image
第十五步:在弹出来的选择框当中选择c File,并且在下面填入自己的名称(推荐这个文件里面要写的功能名称比如LED,Key,MQ135等等)
image
第十六步:在下面的路径当中选择刚刚创建好的文件夹,之后点击Add
image
第十七步:之后再次右键USER,选择下面的.h文件并且输入刚刚填写的名称,路径仍然放到自己创建的USER当中。点击Add
image
第十八步:在.c文件当中编写自己的功能函数,自己要的所有功能,在.h当中放自己写的函数声明和对外接口
举例
LED.c内容
image

LED.h内容
image

如何调用自己写好的模块
首先前面先引用文件名称再调用功能函数(要在main.c里面,begin和end之间调用功能函数,只要是begin和end之间都可以)
示例
image
image
注释推荐(也可以直接使用//或者/**/注释)
image
使用这样的注释格式@brief后面直接写功能函数有啥功能;@param后面写函数的参数有那些;@retval后面写函数的返回值
注释示例
image

posted on 2026-10-09 23:28  Zadyf  阅读(22)  评论(0)    收藏  举报

导航