STM32F407--GPIO的工作原理

一、参考资料

1、STM32F407ZGT6.pdf(探索者\资料盘A\7,硬件资料\2,芯片资料)[芯片资料]

2、STM32F4xx中文参考手册.pdf(探索者\资料盘A\8,STM32参考资料)[中文参考手册]

3、STM32F4开发指南-库函数版本_V1.1.pdf(探索者\资料盘A)[正点原子的开发指南]

 

二、GPIO口的基本结构

三、引脚的说明

注:STM32大部分引脚可以当GPIO口外,还可以复用为外设功能引脚(如串口)。

 

四、GPIO的工作模式

1、4种输入模式

(1)GPIO_Mode_IN_FLOATING 浮空输入
(2)GPIO_Mode_IPU 上拉输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_AIN 模拟输入

2、4种输出模式

(5)GPIO_Mode_Out_OD 开漏输出(带上拉或者下拉)
(6)GPIO_Mode_AF_OD 复用开漏输出(带上拉或者下拉)
(7)GPIO_Mode_Out_PP 推挽输出(带上拉或者下拉)
(8)GPIO_Mode_AF_PP 复用推挽输出(带上拉或者下拉)
3、4种最大输出速度
(1)2MHZ
(2)25MHZ
(3)50MHZ
(4)100MHZ
4、常用的GPIO工作模式
(1)平时接触的最多的也就是推挽输出、开漏输出、上拉输入这三种

 

五、IO口的基本结构

1、M3的IO口基本结构

2、M4的IO口基本结构

3、区别是M4的IO口输入输出都支持上拉下拉。同时标识“FT”标识IO口支持5V容忍(IO口的输出是3.3V,但是可以容忍输入时5V

 

五、GPIO工作模式图解

1、浮空输入

2、上拉输入

3、下拉输入

4、模拟输入

5、开漏输出

6、复用开漏输出

7、推挽输出

8、复用推挽输出

9、简单总结

推挽输出:可以输出强高低电平,连接数字器件

开漏输出:只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行,适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)

 

六、GPIO口的相关配置

1、STM32F407每组16个I/O口对应10个寄存器

每个通用 I/O 端口包括 4 个 32 位配置寄存器(GPIOx_MODER、GPIOx_OTYPER、
GPIOx_OSPEEDR 和 GPIOx_PUPDR)、2 个 32 位数据寄存器(GPIOx_IDR 和
GPIOx_ODR)、1 个 32 位置位/复位寄存器 (GPIOx_BSRR)、1 个 32 位锁定寄存器
(GPIOx_LCKR) 和 2 个 32 位复用功能选择寄存器(GPIOx_AFRH 和 GPIOx_AFRL)

2、端口模式寄存器(GPIOx_MODER)

3、端口输出类型寄存器(GPIOx_OTYPER)

4、端口输出速度寄存器(GPIOx_OSPRRDR)

5、端口上拉/下拉寄存器(GPIOx_PUPDR)

6、端口输入数据寄存器(GPIOx_IDR)

7、端口置位/复位寄存器(GPIOx_BSRR)

 

 

 

  • 11
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

worthsen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值