STM32程序模块化开发指导

一、首先打开STM32F103RCT6标准库基础项目模板工程,编译,当编译通过程序没有报错后往下进行。

二、接下来介绍模块化开发的方法,本实验以STM32F103RCT6添加大气压传感器GYBMP280模块和OLED显示屏为例介绍。

1、模块化开发的思路是在基础项目模板工程的基础基础上,添加新的功能模块则是以模块独立文件包的形式添加到项目工程里,通过相关的设置后,即可编译项目工程代码,添加n个功能模块则添加n个模块文件包到工程里即可,具体操作如下。

   2、首先编写好单独的GYBMP280模块和OLED显示屏模块的c程序代码和头文件,

(1)GYBMP280模块的.c和.h头文件,如下图所示。

STM32程序模块化开发指导_第1张图片

 

GYBMP280.c的程序中需要调用GYBMP280.h头文件,该头文件的编写如下:

STM32程序模块化开发指导_第2张图片

 

其中,GYBMP280.c调用的头文件除了GYBMP280.h自身头文件以外,还需要调用#include "I2CS.h",即软件模拟的I2C协议,因为GYBMP280大气压模块具体是通过软件模拟的I2C通信协议与STM32F103RCT6单片机通信的,具体的引脚连接接口可在I2CS.h中修改,如下图所示:

STM32程序模块化开发指导_第3张图片

 

(2)OLED显示屏的.c和.h文件如下图所示:

STM32程序模块化开发指导_第4张图片

 

在OLED.c中调用OLED.h头文件,OLED.h头文件如下:

STM32程序模块化开发指导_第5张图片

 

其中,OLED模块连接的单片机引脚在OLED.c如下处可修改:

STM32程序模块化开发指导_第6张图片 

3、当GYBMP280模块和OLED显示屏模块的c程序代码和头文件建立完成后,需要将两个模块添加到项目工程面,首先,在项目工程的如下目录创建HARDWARE目录,并将GYBMP280模块和OLED显示屏模块的c程序代码和头文件放到该目录下面。

STM32程序模块化开发指导_第7张图片

STM32程序模块化开发指导_第8张图片 

 

4、打开基础项目工程,在左侧工程栏新建Hardware目录并将GYBMP280.c和OLED.c添加到该目录下:

STM32程序模块化开发指导_第9张图片STM32程序模块化开发指导_第10张图片

 

同时,也将I2CS.C添加到system目录下面。

5、点击如下图标,添加包含头文件路径:

STM32程序模块化开发指导_第11张图片

STM32程序模块化开发指导_第12张图片 

STM32程序模块化开发指导_第13张图片 

从右侧...中选择添加模块所在的路径即可。

6、最后,编译全部工程即可完成添加大气压传感器GYBMP280模块和OLED显示屏工程的模块化开发。

STM32程序模块化开发指导_第14张图片

 

注:如果整个工程编译弹出如下错误:

 

则需设置

STM32程序模块化开发指导_第15张图片

 

勾选C99Mode重新编译即可。

你可能感兴趣的:(STM32,c语言,嵌入式,stm32,嵌入式硬件,单片机)