STM32库开发实战指南:基于STM32F4
上QQ阅读APP看书,第一时间看更新

第7章 自己写库——构建库函数雏形

7.1 STM32函数库简介

虽然我们使用寄存器点亮了LED,乍看一下好像代码也很简单,但是别以为就可以一直用寄存器开发。在用寄存器点亮LED的时候,我们会发现STM32的寄存器都是32位的,每次配置的时候都要对照《STM32F4xx参考手册》中寄存器的说明,然后根据说明对每个控制的寄存器位写入特定参数,因此在配置的时候非常容易出错,而且代码还很不好理解,不便于维护。所以学习STM32最好的方法是用软件库,然后在软件库的基础上了解底层,学习所有寄存器。

以上所说的软件库是指“STM32标准函数库”,它是由ST公司针对STM32设置的函数接口,即API(Application Programming Interface)。开发者可调用这些函数接口来配置STM32的寄存器,以脱离最底层的寄存器操作,具有开发快速、易于阅读、维护成本低等优点。

当我们调用库API的时候不需要挖空心思去了解库底层的寄存器操作,就像刚开始学习C语言的时候,只需要会用printf()函数,并没有去研究它的源码实现一样。但在需要深入研究的时候,经过千锤百炼的库API源码就是最佳的学习范例。

实际上,库是架设在寄存器与用户驱动层之间的代码,向下处理与寄存器直接相关的配置,向上为用户提供配置寄存器的接口。库开发方式与直接配置寄存器方式的对比见图7-1。

图7-1 开发方式对比图