自己写库—构建库函数雏形

1、什么是 STM32 函数库

以上所说的软件库是指“STM32 标准函数库”,它是由 ST公司针对 STM32提供的函数接口,即 API (Application Program Interface),开发者可调用这些函数接口来配置 STM32的寄存器,使开发人员得以脱离最底层的寄存器操作;

实际上,库是架设在寄存器与用户驱动层之间的代码,向下处理与寄存器直接相关的配置,向上为用户提供配置寄存器的接口。

库开发方式与直接配置寄存器方式的区别见图 8-1!!!!!!!

2、为什么采用库来开发及学习?

、、、、、、、

现在 STM32F1 系列和 STM32F4 系列各有一套自己的函数库,但是它们大部分是兼容的,F1 和 F4 之间的程序移植,只需要小修改即可。要想修炼 C 语言,就从 ST的库开始吧。所以在以后的章节中,使用软件库是我们的重点,而且我们通过讲解库 API去高效地学习 STM32的寄存器,并不至于因为用库学习,就不会用寄存器控制 STM32芯片。

3、构建库函数锥形

1)修改寄存器地址封装

2)定义访问外设的结构体指针

乍一看,除了最后一部分,把 BSRR 寄存器分成 BSRRH 和 BSRRL两段,其它部分跟直接用绝对地址访问只是名字改了而已,用起来跟上一章没什么区别。这是因为我们现在只实现了库函数的基础,还没有定义库函数。

定义位操作函数

 

3)定义初始化结构体GPIO_InitTypeDef

4)定义引脚模式的枚举类型

 

5) 定义 GPIO初始化函数

6)全新面貌,使用函数点亮 LED灯

完成以上的准备后,我们就可以自己定义的函数来点亮 LED 灯了,见代码清单 8-15。

 总结

 

posted on   gary_123  阅读(1396)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示