STM32 寄存器库和固件库
来源:互联网 发布:淘宝上组装电脑 编辑:程序博客网 时间:2024/06/01 10:50
寄存器和固件库开发的区别和联系
固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。
在 51 的开发中我们常常的作法是直接操作寄存器,比如要控制某些 IO 口的状态,我们直
接操作寄存器:
P0=0x11;
而在 STM32 的开发中,我们同样可以操作寄存器:
GPIOx->BRR = 0x0011;
这种方法当然可以,但是这种方法的劣势是你需要去掌握每个寄存器的用法,你才能正确使用
STM32,而对于 STM32 这种级别的 MCU,数百个寄存器记起来又是谈何容易。于是 ST(意法
半导体)推出了官方固件库,固件库将这些寄存器底层操作都封装起来,提供一整套接口(API)
供开发者调用,大多数场合下,你不需要去知道操作的是哪个寄存器,你只需要知道调用哪些
函数即可。
比如上面的控制 BRR 寄存器实现电平控制,官方库封装了一个函数:
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
ALIENTEK 战舰STM32开发板
www.openedv.com
37
GPIOx->BRR = GPIO_Pin;
}
这个时候你不需要再直接去操作 BRR 寄存器了,你只需要知道怎么使用 GPIO_ResetBits()这个
函数就可以了。在你对外设的工作原理有一定的了解之后,你再去看固件库函数,基本上函数
名字能告诉你这个函数的功能是什么,该怎么使用,这样是不是开发会方便很多?
任何处理器,不管它有多么的高级,归根结底都是要对处理器的寄存器进行操作。但是固
件库不是万能的,您如果想要把 STM32 学透,光读 STM32 固件库是远远不够的。你还是要了
解一下 STM32 的原理,而这些原理了解了,你在进行固件库开发过程中才可能得心应手游刃
有余。
- STM32 寄存器库和固件库
- 关于STM32影子寄存器和预装载寄存器和TIM_ARRPreloadConfig
- 关于STM32影子寄存器和预装载寄存器和TIM_ARRPreloadConfig
- 关于STM32影子寄存器和预装载寄存器和TIM_ARRPreloadConfig
- stm32寄存器
- STM32 GPIO BRR和BSRR寄存器
- STM32寄存器操作和库函数操作区别
- STM32的GPIO的寄存器介绍和设置
- STM32 下的库函数和寄存器操作比较
- STM32之实时时钟和备份寄存器介绍
- STM32使用BSRR和BRR寄存器快速操作GPIO端口
- STM32-寄存器I2C--2402
- STM32 GPIO 相关寄存器
- STM32串口寄存器操作
- STM32 CRC寄存器操作
- STM32通用寄存器
- STM32 GPIO 相关寄存器
- STM32 GPIO 相关寄存器
- 通用32位MD5算法总结:MD5Util
- eclipse 开发插件 Open Explorer(打开项目所在位置)
- Thrift入门及Java实例演示
- jquery常用注意事项
- zend发送邮件
- STM32 寄存器库和固件库
- com.microsoft.sqlserver.jdbc.SQLServerException:该语句没有返回结果集
- 可编辑的select 框
- pl sql 学习笔记(六)再学动态sql
- js四舍五入(round()方法)并保留小数点后N位的函数
- 在servlet通过xml文件访问properties文件
- xxx
- 项目经验:clear清除浮动样式
- uvalive3942(字典树)