笔记3:STM32 ---GPIO的基本知识

一.简介:
GPIO:general purpose input output,通用输入输出端口,简单的来说也就是软件可控制的引脚,可以通过软件控制输出1或者0,STM32的GPIO引脚与外部设备连接起来,从而实现与外部通讯,控制与数据采集的功能。
GPIO与引脚的区别:GPIO属于引脚的一部分,但是不是所有的引脚都可以充当GPIO。
在这里插入图片描述
GPIO功能:STM32F4XX英文数据手册
在这里插入图片描述
pin:表示贴片封装
ball:表示DIP双列直插
引脚分类:
在这里插入图片描述
STM32里面除开ADC I/O是3.3V,其他I/O都是5V容忍。5V容忍是说另外一个芯片如果是5V供电,即使STM32是3.3V供电,他们也是可以通信的。
二.功能框图介绍
1.施密特功能:将实际电压变成1或者0,即为整型作用,规定电压>1.8V为1,高电平,低于该数值为0,低电平。
在这里插入图片描述
2.设置端口模式:输入/输出/复用/模拟
在这里插入图片描述
复用是指的是功能的复用,例如引脚可以做数字IO,可以做模拟IO,可以做串口引脚,可以做IIC引脚等等。引脚可以输入模式,可以输出模式,这并不叫复用。
3.输出模式:
在这里插入图片描述
推挽输出(复位状态,默认状态):I/O口可以输出0和1,驱动能力强。驱动能力是因为MOS管内阻很小,驱动的电流就很大。
在这里插入图片描述
开漏输出:只能输出低电平,若想要输出高电平,必须外加电阻和VDD.
在这里插入图片描述
4.STM32如何输出5V:利用开漏输出,输入与输出反向,即输入为0,输出为1;输入为1,输出为0。若想输出同向,则再加一个三极管。
在这里插入图片描述
三.编程过程
1.确定GPIO端口模式:输入或者输出或复用或模拟(模式寄存器:MODER)
2.,如果是输出,还要配置是推挽还是开漏(输出类型寄存器:OTYPER)
3.配置输出的速度(输出速度寄存器:OSPEEDR)
4.输出的时候内部上拉电阻要不要开启(上拉下拉寄存器:PUPDR)
5.具体要输出的内容(置位复位寄存器:BSRR/数据输出寄存器:ODR),BSRR中的配置内容最终还是输入到ODR中。

本文参考野火视频个人学习总结

猜你喜欢

转载自blog.csdn.net/weixin_46468790/article/details/107190655