库函数
以前我在学习以及使用51的时候都是直接控制51单片机的寄存器,51的寄存器相对较少,容易记住,位数也比较少,操作起来也比较简单,所以51单片机没有固件库的说法。
使用stm32单片机有两种方式:库函数 与 直接操作寄存器,这两种方式我们都可以去使用。我接触stm32是有一段时间的,我自己的感觉是库函数是比较适用的,直接操作继续存器我们就得随时得知道寄存器的某一位是干什么的,或者一开始我们不知道就得去看参考手册什么的,个人感觉不是很方便。
库函数实际上是通过官方给的API函数来操作寄存器,其实归根结底,就是不管什么单片机或者什么硬件,你操作的都是寄存器,只是操作的方式不一样而已,这一点一定要清楚。
stm32是一个芯片,使用的是ARM架构,但是外设都是由芯片公司决定的,使用ARM架构的芯片公司有很多于是ARM公司与芯片公司商议确定了CMSIS 标准(Cortex Microcontroller Software Interface Standard) ,翻译过来是“ARM Cortex™ 微控制器软件接口标准”。 CMSIS 层在整个系统中是处于中间层,向下负责与内核和各个外设直接打交道,向上提供实时操作系统用户程序调用的函数接口。CMSIS简单来说就是强制要求芯片公司编写固件库必须按照这个标准进行,系统初始化函数名字必须是 SystemInit
。
固件库
固件库里面有stm32的外设例程,这些都是芯片公司编写而成,建议写程序从固件库里面直接复制修改,所以我们得很清楚自己想要什么。
具体可以看电脑上的文件夹
Libraries 文件夹里面的文件在我们建立工程的时候都会使用到
Project 文件夹下面有两个文件夹:
- STM32F10x_StdPeriph_Examples //例程
- STM32F10x_StdPeriph_Template//工程模板
stm32f10x_stdperiph_lib_um.chm这个文件是帮助文档,个人感觉很有用
续、、、、、、