1.STM32F1xx GPIO八种模式
1.一般输入模式:(1)上拉输入,(2)下拉输入,(3)浮空输入。
2.模拟模式:(4)模拟输入
3.输出模式:(5)开漏输出,(6)推挽输出
4.复用模式:(7)复用推挽,(8)复用开漏
------------------------------------------------IO基本结构图--------------------------------------------------------------
------------------------------------------------end----------------------------------------------------------------------------
2.详细讲解各种模式工作情况:
-------------------------------------1.一般输入模式下 IO结构图如下-------------------------------------------------
1.一般输入:
(1)输出驱动器被禁止。
(2)施密特触发器打开。
(3)根据输入配置(下拉,上拉,浮动)的不同,弱上拉和弱下拉被断开或连接。
(4)出现的IO引进上的数据在每个APB2时钟被采用到输入数据寄存器。
(5)对输入数据寄存器读访问可得到IO状态。
------------------------------------------------end----------------------------------------------------------------------------
-------------------------------------2.模拟输入模式下 IO结构图如下-------------------------------------------------
2.模拟输入
(1)输出驱动器被禁止
(2)施密特触发器关闭,施密特触发输出值为0,输入数据寄存器被读取时一直为0
(3)弱上拉和下拉被禁止
------------------------------------------------end---------------------------------------------------------------------------
-------------------------------------3.输出模式下 IO结构图如下-------------------------------------------------------
3.输出模式:
(1)输出驱动器激活,施密特触发器激活。
(2)开漏模式:输出数据寄存器上的0 可以导通N-MOS管从而输出低电平,输出数据寄存器上的1 使禁止N-MOS 从而输出高阻态(开漏跟P-MOS无关)
(3)推挽输出:输出数据寄存器0时导通N-MOS 从而输出低电平,1时导通P-MOS管输出高电平
(4)上拉和下拉被禁止
(5)可读取输入数据寄存器知道IO管脚的状态
(6)在推挽模式下,可读取 输出数据寄存器从而获取最后一次写入的数据。
(7)在每一个apb2时钟周期,出现在io引脚的数据会被采样到输入数据寄存器中。
------------------------------------------------end---------------------------------------------------------------------------
-------------------------------------4.复用模式下 IO结构图如下-------------------------------------------------------
4.复用模式
(1)跟输出模式相比较 输出信号来源于外设,不是io引脚口了。这时必须让相应外设使能起来。
(2)其它跟 输出模式一样。