功能描述
STM32的GPIO端口相对比较复杂,所以使用起来也困难许多,STM32的GPIO端口的每一位都可以由软件配置成多种模式。
4种输入模式:
输入浮空;
输入上拉;
输入下拉;
模拟输入;
4种输出模式:
开漏输出;
推免输出;
推免式复用功能;
开漏复用功能。
每个I/O可以自由编程,然而必须按照32位字访问I/O端口寄存器(不允许半字或字节访问)。每个I/O端口有两个32位配置寄存器(GPIOx_CRL, GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。下图给出了一个I/O端口位的基本结构: |