一.用到的输出与输入寄存器如下:
1. 推挽输出,开漏或关闭 对应端口配置低/高寄存器CRL/CRH 还有端口输出数据寄存器ODR,
而位设置/清除寄存器BSRR/BRR (只设置位操作,可以直接将位写为高低电平,效率高)
(1)推挽模式是高低电平均有效
(2)开漏模式只有低电平有效,在多机通信的情况下,这个模式可以可以有效避免各个设备的相互干扰(可以用于输出5V的电平信号,可外接上拉电阻,当输出高电平时上拉,可以解5V的设备)
2.输入:配置上下拉输入配置用CRL/BASS
端口输入数据寄存器IDR
3.肖特基触发器也就是施密特触发器是数字信号,只有 高于上限或者低于下限,输出才会变化,可以有效避免因信号波动造成的输出抖动现象
二:初始化步骤
1.选定具体的GPIO 例如:GPIO0就只能配置0引脚的位
2.配置GPIO是输入模式还是输出模式
3.高低电平的对应
三:GPIO外设详细图
1.每个GPIO外设有16个引脚
2.每个GPIO模块内,主要包含了寄存器和驱动器
(1)寄存器是一段特殊的存储器,内核可以通过APB2总线对寄存器进行读写
(2)驱动器是用来增强信号的驱动能力,例如电灯提高它的驱动能力尤为重要
3.STM32有32位引脚,GPIO外设只有16位端口,所以只用低16位的端口,高16位没有用到
四.GPIO的八种模式
五:操作STM32的GPIO总共有需要3个步骤
1.使用RCC开启GPIO的时钟
2.使用GPIO_Init函数初始化GPIO
3.使用输出或者输入的函数控制GPIO口