gpio是什么
gpio是通用输入输出端口的简称,简单来说就是stm32可控制的引脚,stm32芯片的gpio引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。
stm32芯片的gpio被分成很多组,每组有16个引脚,如型号为stm32f103zet6型号的芯片有gpioa、gpiob、gpioc至gpiog共7组gpio,芯片一共144个引脚,其中gpio就占了一大部分,所有的gplo引脚都有基本的输入输出功能。
最基本的输出功能是由stm32控制引脚输出高、低电平,实现开关控制,如把gpio引脚接入到led灯,那就可以控制led灯的亮灭,引脚接入到继电器或三极管,那就可以通过继电器或三极管控制外部大功率电路的通断。
最基本的输入功能是检测外部输入电平,如把gpio引脚连接到按键,通过电平高低区分按键是否被按下。
点亮pb0 led:
gpio功能框图
每个gpi/o端口有两个32位配置寄存器(gpiox-crl,gpiox-crh),两个32位数据寄存器(gpioxidr和gpiox-odr),一个32位置位/复位寄存器(gpiox-bsrr),一个16位复位寄存器(gpiox-brr)和一个32位锁定寄存器(gpiox-lckr).
根据数据手册中列出的每个i/o端口的特定硬件特征,gpio端口的每个位可以由软件分别配置成多种模式:
输入浮空
输入上拉
输入下拉
模拟输入
开漏输出
推挽式输出
推挽式复用功能
开漏复用功能
每个i/o端口位可以自由编程,然而i/o端口寄存器必须按32位字被访问(不允许半字或字节访问),gpiox-bsrr和gpioxbrr寄存器允许对任何gpio寄存器的读/更改的独立访问;这样,在读和更改访间之间产生irq时不会发生危险。
图上除了i/o引脚我们能在芯片外部看到,其余部分都在芯片内部
1:保护模块:当i/o引脚输入正电压大于vdd,电流就会流向vdd不会流进芯片内部,从而保护电路(远大于vdd时二极管会烧坏,因此不能将引脚直接接电极,要用电机驱动),反之输入负电压超过vss时,电流就会从vss往外流。
2:推挽、开漏或关闭:用以下两个寄存器配置,每4个位控制一个gpio,配置输入输出的各种模式(右上的上拉下拉开关也是用这个寄存器设置的:10)。
简化电路图:
当int输入为1,取反后为0,上方的ugus,gnd与out导通,out电流流向gnd。
可以输出高低电平,用于连接数字器件,高电平由vdd决定,低电平由vss决定。
推挽结构指两个三极管受两路互补的信号控制,总是在一个导通的时候另外一个截止,优点开关效率效率高,电流大,驱动能力强。
输出高电平时,电流输出到负载,叫灌电流,可以理解成推,输出低电平时,负载电流流向芯片,叫拉电流,即挽。
开漏输出一般只能输出低电平,想输出高电平要另外加上拉电阻,而且此时nmos处于截止状态(当int为1时)
输出高电平时,vdd如果是3.3v,out就输出3.3v,vdd如果是5v,out就输出5v
只能输出低电平,不能输出高电平。
如果要输出高电平,则需要外接上拉。
开漏输出具有线与功能,一个为低,全部为低,多用于i2c和smbus总线。
3:输出数据寄存器:用以下寄存器配置,可以直接设置odr,也可以先设置bsrr,最后odr会被更改。
(右上的上拉下拉开关也是用这个bsrr寄存器设置的)
4:复用功能输出:用外设输出时(例如串口),第3部分就没用了。
5:输入数据寄存器:读出引脚数据
6:复用功能输入:外设引脚输入。
7:模拟输入:adc采集,不经过肖特基触发器
gpio输出初始化顺序
1、选定具体的gpio
2、配置gpio工作模式(crl和crh寄存器)
3、控制gpio输出高低电平(odr,brr和bsrr)
点亮b0 led
自动气象站的作用,它的主要功能有哪些
无线通信模块有哪些_无线通信模块优点
微雪电子PL2303 (mini) USB转UART介绍
BGA线路板及其CAM制作
新唐科技M0516ZDE控制器简介
STM32 GPIO实现与外部通讯、控制以及数据采集方案介绍
深度学习模型优于人类医生?
物联网应用于无线语音抄表系统,可做到每一个企业“电尽其用”
智能制造的发展历程、未来趋势和成功经验
防止黑客入侵刀片服务器的操作方法
柔性印刷电子——电子制造技术的“工业革命”
GDB RSP协议与USB通信进行调试信息交互的开发与实现方法
云台防抖智能安全帽
回顾2018最有影响力的10大网络安全收购案
三个小妙招教你挑选最潮的AMT LNG重卡
如何在ARM下实现高效C编程_10个关键点给你答案
浅谈云计算的可视化模型及3种服务
2018年手机显示技术发展路线图
以太网光纤通道(FCoE)技术问答
万向发布称获得通用汽车几乎所有类型电池业务定点供应商资格