IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> stm32代码移植之子函数库化 -> 正文阅读

[嵌入式]stm32代码移植之子函数库化

  1. 建立FUNCTION.c文件和FUNCTION.h文件。(将所有的子函数都放在这两个文件里边)

? 例:

图1??建立FUNCTION.c和FUNCTION.h的文件

图2??FUNCTION.h文件基本格式

注:.h文件格式很重要,#endif后面一定要多打几个空行,否则会报错哦

2、建立一个ALLDEFINE.h文件,将所有的头文件包含在这个ALLDEFINE.h文件里边,需要用到头文件的话直接#include ?“ALLDEFINE.h”即可。

例:

?

3 ?所有头文件声明文件名

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

4 ?ALLDEFINE.h文件内容

3、建立一个ALLDATA.h文件,用来存放宏定义的值或者变量。

例:

5 ?ALLDATA.h文件具体形式

4、把用到的子函数放到FUNCTION.c文件里边,同时需要在FUNCTION.h文件里边对每个子函数进行声明。

例:

6 ?库函数文件名

7 ?FUNCTION.c文件内容

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

8 ?库函数文件名(.h文件)?

9 ?FUNCTION.h文件内容

5、将子函数里面含有的gpio的类型和引脚均用参数将他们取代,将对应的类型和引脚进行宏定义。(调用函数时,只需修改参数即可

例:

?

10 ?蜂鸣器初始化函数(没有入口参数)

GPIOA用变量GPIOx1取代,GPIO_PIN_9用Pinx9取代

?

11 ?蜂鸣器初始化函数(有入口参数)

GPIOx1_对应GPIOx1GPIOA宏定义为GPIOx1_)、Pinx_9对应Pinx9GPIO_PIN_9宏定义为Pinx_9)。(若用同款单片机,且想用之前的gpio类型和引脚,则从参数上就很容易看出)

12 ?宏定义GPIO的类型和引脚

则调用蜂鸣器初始化函数可以static void BUZZER_Init(GPIOx1_,Pin_9),

也可以static void BUZZER_Init(GPIOA,GPIO_PIN_9)

6、注意事项:若ALLDATA.h、ALLDEFINE.h、ALLDEFINE.c、FUNCTION.c、FUNCTION.h放在同一个文件夹里边,则在keil的project的项目栏里边也需把这几个文件放在同一个文件夹里边。(否则会报错哦)

例:

? ? ? ? ? ? ? ??

13 ?以上提到的几个文件全在工程的USER文件里边

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

14 ?keil工程项目里边也需把以上提到的几个文件包含在USER文件里边

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-01-25 10:45:17  更:2022-01-25 10:46:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:22:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码