GPIO AFIO

GPIO的简介

其实GPIO就是类似于51单片机的IO口 有采集和控制的作用
在这里插入图片描述

GPIO的复用 复用和通用功能

在这里插入图片描述
通用和复用功能
在这里插入图片描述
gpio的通用功能就是直接通过CPU控制IO(GPIO)引脚 而复用功能就是CPU通过其他外设和模块来控制IO(gpio)引脚

GPIO重映射

在这里插入图片描述
当同一个gpio引脚被CPU(通用功能)和外设和模块控制时(复用功能)会产生分歧 gpio不知道输出由那个控制输出的电平 由此引出重映射 重映射就是把复用功能引用到其他引脚上去例如1引脚被CPU和其他模块控制 产生分歧 就把其他模块的复用功能分到2号引脚 由2好引脚来输出由其他模块控制的高低电平
在这里插入图片描述

在这里插入图片描述
翻转指的是高电平到低电平 或者低电平到高电平
在这里插入图片描述
1.不能接5v的电压 接了就烧
2.coms端口和ttl端口的识别
在这里插入图片描述
在芯片手册内IO口(可以理解为GPIO)后面又FT就是TTL端口 没有就是COMS端口 接着以COMS为例 在第一个范围内的电压GPIO就识别为0 在第二个电压范围内GPIO就识别为1 如果电压的范围是1.164~1.833则会获得一个随机值(避免这样的情况发生) GPIO的单端输出电流为25MA 极限情况 但是不能每个GPIO口都输出25MA 因为超过了芯片的的最大电流值就会烧毁

IO端口基本结构介绍

在这里插入图片描述
上下分为输入和输出驱动 分别处理输入和输出的信号
上面为输入信号的路径 下面为输出信号的路径 2为上下拉电阻 输入的信号和进入片上外设 也可进入寄存器IDO从而读出IO口是高电平还是低电平 然后输出信号进入输出控制 通过控制作用使得上下两个mos管输出高电平或低电平(上面高电平 下面低电平)从而IO口有输入和输出的作用

在这里插入图片描述
而二极管有保护作用如果输入5v的电阻则使得芯片内部输入信号的电位为3.6v起到钳位的作用(钳位电路) 下面的二极管也是如此
触发器的作用就是把正弦波转化为方波
在这里插入图片描述
第一个坐标图是正弦波(输入的信号) 第二个坐标图是经过触发器输出的波形图
在这里插入图片描述
模电的mos管

GPIO的八种输入模式分析

在这里插入图片描述
四个输出模式 四个输入模式在这里插入图片描述
空闲时就是高阻态
在这里插入图片描述
空闲时(高阻态)由于上拉电阻的存在使得IO口为高电平
在这里插入图片描述
空闲时(高阻态)由于下拉电阻的存在使得IO口为低电平在这里插入图片描述
在这里插入图片描述
当寄存器(ODO)对应的位写入0 下面的Pmos管导通 则输出VSS0低电平 如果寄存器对应的位写入1 则下面的Pmos截至 处于高阻态状态 无法输出高电平 (想要输出高电平必须外接上拉电阻)
在这里插入图片描述

在这里插入图片描述
F1和F4以及其他系列的差别
在这里插入图片描述
在这里插入图片描述
注意看F4以及其他系列的上下拉电阻是接在输入驱动器外部的 所以可以使用内部上下拉

GPIO的寄存器介绍

在这里插入图片描述
F1系列的BRR和LCKR都不用 不用学习 同理F4的LCKR寄存器 在这里插入图片描述
(GPIOA) CRL 和CRH都是32位寄存器 一共加起来是64位bit 而GPIOA有16个IO口引脚 相当于每四个bit控制一个IO口引脚在这里插入图片描述
四个位控制一个IO口 圈起来的分别控制PA0 和PA1 所以这CRL一共控制8个IO口
在这里插入图片描述
如要设置PA10位推完模式 首先PA10对应的寄存器为CRH(CRL是控制低八位的) 就是CRH中 8 9 10 11这四个位 其中8 9 是设置IO口的输入和输出模式 (8 9设置为工程需要的模式 如设置为输出模式 速度为需要的模式 就设置为1 0 给8 9 位写入 1 1)然后后面两个位 10 11写入0 0 就设置成功
如果要设置为上下拉电阻 就写入1 0 但是不知道到底是上拉还是下拉模式?
引出ODR寄存器 在这里插入图片描述
ODR寄存器一共有16个位 一共对应16个IO口 每一个IO口对应一个位 加上了这个位就可以配置IO口的上下拉模式了 设置为1就输出高电平 设置为0就输出低电平
在这里插入图片描述

在这里插入图片描述
r 和rw 和w 分别是只读 读写 和只写的意思 举个例子 如果GPIOB_IDR 的第0位读到的是1 那么就说明PB0这个IO引脚接到的是高电平 (联想GPIO引脚的结构图)
在这里插入图片描述
一共有32个位 两个位控制IO口的ODR寄存器 这个寄存器 BSRR 只写 如果一个IO口引脚 如 PA10 对应GPIOA 而GPIOA的寄存器中的BSRR的BR10为1 BS10为0 那么 对应的寄存器ODR就为0 就输出低电平 反之ODR就为1 输出高电平

F4系列的配置输入输出
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
相比于F1只是把功能分开了 多了一个上下拉电阻 (因为上下拉电阻是在IO信号进入的必经之路)
后面的IDR 和ODR BSRR都是和F1一样的
在这里插入图片描述
使用BSRR寄存器

AFIO简介

在这里插入图片描述
当引脚冲突时候了可以使用重映射把模块映射到其他地方去
AFIO就是把其他的模块映射到其他引脚上去
在这里插入图片描述
在这里插入图片描述
定时器1的四个通道和串口的引脚冲突 需要映射到其他的引脚去
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值