STM32F3 GPIO的八种模式及工作原理 (3)

端口位设置/清除寄存器BSRR

STM32F3 GPIO的八种模式及工作原理

端口位清除寄存器BRR

STM32F3 GPIO的八种模式及工作原理

端口配置锁定寄存器LCKR

STM32F3 GPIO的八种模式及工作原理

五、编写程序

上面介绍了GPIO的8中工作模式以及GPIO的寄存器使用,那么在控制GPIO之前需要配置GPIO的工作模式,这是STM32和51单片存在区别的地方。51单片的引脚功能是确定的,而STM32的引脚都是可以复用的,程序配置GPIO的方式有两种,一种是通过库文件的方法进行配置,另一种是通过寄存器进行配置,由于库文件的配置方式比较简单,网上也有很多文章讲解,这里我以寄存器为例进行学习。
注意:STM32的所用引脚都可以用于中断
程序是基于之前创建的项目模板(寄存器版)中进行更改即可,没创建过STM32项目的小伙伴浏览之前的STM32新建模板之库文件STM32新建模板之库文件

更改main.c文件为一下内容即可

#include "stm32f10x.h" #include "sys.h" /*------------------------------------------------------------ 主函数 ------------------------------------------------------------*/ int main() { RCC->APB2ENR|=0X0000001c;//先使能外设IO PORTa,b,c时钟 RCC->APB2ENR |= 1 << 12; GPIOB->CRH=0X00030000; //设置GPIOB的12引脚为推挽输出 while (1) { delay_ms(100); GPIOB->ODR = ~(1 << 12); //设置12引脚输出0 delay_ms(100); GPIOB->ODR |= 1 << 12; //设置12引脚输出1 } }

这是一个led闪烁的程序,编译下载运行即可。

参考文献

STM32F4 GPIO八种模式及工作原理详解:https://blog.csdn.net/as480133937/article/details/98063549
STM32-GPIO详解:https://blog.csdn.net/dnfestivi/article/details/104984813
《STM32中文参考手册》

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzfgwg.html