注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题

ch**ht7的个人空间 http://home.eeworld.com.cn/?490705 [收藏] [复制] [分享] [RSS]

日志

STM32学习-GPIO口

已有 238 次阅读2017-6-30 14:33 |个人分类:STM32

 STM32学习-GPIO口
---
2017/6/30

# 一、 端口配置
## 1、GPIO
1. 通过配置GPIO口的寄存器来进行设置端口信息。具体含义为,跟51的区别为,配置端口时,STM32需要设置端口的输入/输出类型(用CNFy[1:0]),设置端口类型(输入Or输出,用MODE[1:0])。

### 1.1 端口配置
输出类型:  
推挽输出:可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源低定。  
开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).

[图 端口类型-推挽与开漏]


输入类型:
上拉输入/下拉输入/模拟输入:文字中已经说得比较清晰了。通过选择不同的管脚导通,实现对应的连接。  
浮空输入:信号进入芯片内部后,既没有接上拉电阻也没有接下拉电阻,经由触发器输入。配置成这个模式后,用电压变量引脚电压为1点几伏,这是个不确定值。由于其输入阻抗比较大,一般把这种模式用于标准的通讯协议,比如IIC、USART的等。  
复用开漏输出、复用推挽输出:这种方式,可以对应STM32的电路图来查看的话,就是将复用引脚的输出方式进行定义。  

**在STM32中选用IO模式**
(1)浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1.有些用于进行通讯
(2)带上拉输入_IPU——IO内部上拉电阻输入
(3)带下拉输入_IPD—— IO内部下拉电阻输入
(4)模拟输入_AIN ——应用ADC模拟输入,或者低功耗下省电
(5)开漏输出_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能
(6)推挽输出_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的
(7)复用功能的推挽输出_AF_PP ——片内外设功能(I2C的SCL,SDA)
(8)复用功能的开漏输出_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)

### 1.2 GPIOx_BSRR

一个引脚y的输出数据由GPIOx_BSRR寄存器位的2个位来控制分别为BRy (Bit Reset y)和BSy (Bit Set y),BRy位用于写1清零,使引脚输出低电平,BSy位用来写1置1,使引脚输出高 电平。而对这两个位进行写零都是无效的。

### 1.3 GPIO原理
通过:输入-->控制寄存器-->控制芯片-->输出

### 1.4 地址总线
外设基地址:PERIPH_BASE这个宏,宏展开为0x4000 0000,并把它强制转换为uint32_t的32位类型数据。是M3外设的第一个地址。 
总线基地址:
APB1总线基地址,等于外设基地址-0x4000 0000;
APB2总线基地址:宏`APB2PERIPH_BASE`(APB2总线外设的基地址),宏指向的地址为0x4001 0000。偏移量0x1 0000
AHB总线基地址:0x4001 8000,相对偏移量0x1 8000

# 二、框架
因为这一块内容真的有点儿丰富,而一直码字可能会存在着对于一些知识不能有个很好的整理,所以下面附上一张,以我目前的知识,整理的一个关于GPIO口相关的一张导图吧。可能不是那么狠美观。具体的关于这方面的知识,我还是比较推荐野火的教程的。很棒,知识很详细。

[图 GPIO]  
这张图,如果在这网页看不清楚的话,建议去我的相册里面看吧。位置位于"STM32"这个图片架里面。



评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2017-7-22 12:48 , Processed in 0.187341 second(s), 11 queries , Redis On.

Powered by EEWORLD电子工程世界

© 2017 http://bbs.eeworld.com.cn/

返回顶部