转载自—ZCShouEXP-----https://blog.csdn.net/ZCShouCSDN
标准外设库是对STM32芯片的一个完整性封装,包括所有标准器件外设的器件驱动器。目前用的最多的ST库,几乎全部C语言实现。没有可移植性。相对于HAL库,标准外设库仍然接近于寄存器操作,主要就是将一些基本的寄存器操作封装成了C函数,开发者需要关注所使用的外设是在哪个总线上,具体寄存器的配置等底层信息。
assert_param在项目stm32f10x_conf.h文件,可以看到实际上assert_param是一个宏定义,在固件库中它的作用就是检测传递给函数的参数是否是有效的参数。使得程序员可以即使发现错误。可以在调试阶段帮助程序员定位错误。当项目开发成功,用release模式编译之后,或者在stm32f10x_conf.h文件中注释掉宏定义,不影响编译。
STM32 GPIO配置之ODR,BSRR,BRR详解
—DriverMonkey
https://blog.csdn.net/drivermonkey/article/details/17062381
用stm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态.
ODR寄存器可读可写:既能控制管脚为高电平,也能控制管脚为低电平。管脚对于位写1 gpio 管脚为高电平,写 0 为低电平
BSRR 只写寄存器:既能控制管脚为高电平,也能控制管脚为低电平。对寄存器高 16bit 写1 对应管脚为低电平,对寄存器低16bit写1对应管脚为高电平。写 0 ,无动作
BRR 只写寄存器:只能改变管脚状态为低电平,对寄存器 管脚对于位写 1 相应管脚会为低电平。写 0 无动作。
刚开始或许你跟我一样有以下疑惑&#x