本篇博客重点在于标准库函数的理解与使用,搭建一个框架便于快速开发
目录
GPIO简介
GPIO(General Purpose Input Output),通用输入输出口
引脚电平:0V~3.3V,部分引脚可容忍5V
输出模式下可控制端口输出高低电平,可以模拟通信协议输出时序等
输入模式下可读取端口的高低电平,可以模拟通信协议接收数据等
GPIO时钟使能
已知所有GPIO都在APB2总线(如图)

再由RCC时钟树,需要使能APB2外设的GPIO时钟

故
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
第一个参数选择 RCC_APB2Periph_GPIOX(X为A,B,C...)
第二个参数 为 ENABLE
在每一次复位以后,所有除SRAM和 FLITF以外的外设都被关闭,在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟。
RCC时钟开启后就开始初始化GPIO了
GPIO初始化
工作模式
复位后,I/O端口被配置成浮空输入模式
GPIO有8种工作模式
输入模式
| 输入模式 | 标准库枚举定义 |
| 浮空输入 | GPIO_Mode_IN_FLOATING |
| 上拉输入 |
GPIO_Mode_IPU |
| 下拉输入 | GPIO_Mode_IPD |
| 模拟输入 | GPIO_Mode_AIN |
输出模式
| 输出模式 | 标准库枚举定义 |
| 推挽输出 | GPIO_Mode_Out_PP |
| 开漏输出 | GPIO_Mode_Out_OD |
| 复用推挽输出 | GPIO_Mode_AF_PP |

5838

被折叠的 条评论
为什么被折叠?



