自己写库—构建库函数雏形
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。
总结
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 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】