0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32 GPIO实现与外部通讯、控制以及数据采集方案介绍

454398 来源:博客园 作者:谢嘉敏 2020-10-19 12:13 次阅读

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,上方的Ug

当INT输入为0,取反后为1,上方的Ug=Us,VDD3.3V电流流向Ug,VDD与OUT断开;下方的Ug>Us,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


编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22449

    浏览量

    645853
  • 三极管
    +关注

    关注

    141

    文章

    3493

    浏览量

    119100
  • 继电器
    +关注

    关注

    131

    文章

    5027

    浏览量

    146040
  • GPIO
    +关注

    关注

    16

    文章

    1133

    浏览量

    50565
收藏 人收藏

    评论

    相关推荐

    网关数据采集解决方案

    随着物联网技术的快速发展,数据采集已成为企业运营、管理和决策的重要支撑。网关作为连接不同网络的关键设备,其在数据采集过程中发挥着至关重要的作用。本文将详细介绍一种网关数据采集解决方案
    的头像 发表于 03-08 16:05 126次阅读
    网关<b class='flag-5'>数据采集解决方案</b>

    基于物通博联工业数据采集网关的工厂数据采集方案

    。因此,需要一种高效、稳定、可靠的工厂数据采集方案,来实现对工厂生产过程的实时监控和管理。 物通博联提供基于数据采集网关的工厂数据采集
    的头像 发表于 01-26 15:14 174次阅读
    基于物通博联工业<b class='flag-5'>数据采集</b>网关的工厂<b class='flag-5'>数据采集</b><b class='flag-5'>方案</b>

    plc数据采集模块的缺点 plc数据采集模块与数据采集卡的区别

    PLC(可编程逻辑控制器)数据采集模块是用于连接传感器、执行器和机器设备,收集实时数据的设备。虽然PLC数据采集模块在工业自动化领域得到了广泛应用,但它仍然存在一些缺点,而与之相比,
    的头像 发表于 01-19 14:20 478次阅读

    数据采集卡的基本原理、应用领域、特点以及选购注意事项

    为数字信号,从而使计算机可以读取和处理这些信号。数据采集卡广泛应用于各个领域,包括工业控制、实验室测试、环境监测、医疗设备、通信设备、军事和航空航天等。本文将详细介绍数据采集卡的基本原
    的头像 发表于 12-15 09:43 799次阅读

    设备数据采集网关介绍-天拓四方分享

    监控设备状态、优化生产流程、提高工作效率的重要手段。本文将详细介绍设备数据采集网关的结构、原理、功能以及在实践中的应用效果和优缺点。 一、设备数据采集网关的结构与原理 设备
    的头像 发表于 11-16 16:40 438次阅读

    STM32如何配置外部中断?STM32外部中断配置步骤

    STM32如何配置外部中断?STM32外部中断配置步骤  作为一款现代化的微控制器,STM32
    的头像 发表于 10-26 17:47 2075次阅读

    STM32使用GPIO配置的5种方式

    STM32使用GPIO配置的5种方式 STM32是常见的一种微控制器,其GPIO模块可以实现
    的头像 发表于 10-26 17:42 769次阅读

    GPIO的基本概念、工作原理及关键技术

    等的数据采集控制。本文将介绍GPIO的基本概念、工作原理以及一些关键技术,帮助读者更好地理解GPIO
    的头像 发表于 09-26 17:21 5944次阅读

    STM32GPIO配置

    STM32控制器通用输入/输出引脚(GPIO)提供许多与应用框架内外部电路相连接的方法。本应用笔记提供有关GPIO配置的基本信息,
    发表于 08-31 10:50 0次下载

    GPIO的八种工作模式

    GPIO是通用输入/输出端口的简称,GPIO的引脚与外部设备连接,可实现外部通讯
    的头像 发表于 07-02 16:38 6455次阅读
    <b class='flag-5'>GPIO</b>的八种工作模式

    机房空调数据采集监控解决方案

    物通博联推出的机房空调数据采集方案,是基于物通博联工业智能网关WG583和物通博联IOT云平台,实现机房空调数据采集、云端组态、故障报警和远程控制
    的头像 发表于 07-01 16:25 859次阅读
    机房空调<b class='flag-5'>数据采集</b>监控解决<b class='flag-5'>方案</b>

    STM32GPIO在实际开发设计的使用配置和技巧

    相关的理论知识,这样在应用GPIO开发过程中,能更好的理解GPIO的特点,应用起来会更加的得心应手。 后续将从以下图1中所示的几个方面对GPIO应用设计中的步骤展开介绍。本篇先
    的头像 发表于 06-22 10:22 519次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>在实际开发设计的使用配置和技巧

    【虹科方案】虹科高速数据采集套装,一站式集成,应用广泛!

    储。虹科HKDAQ系列产品将工控机及数据采集功能于一体,无需外部控制控制,直接单独使用,实现数据采集
    的头像 发表于 06-21 17:24 381次阅读
    【虹科<b class='flag-5'>方案</b>】虹科高速<b class='flag-5'>数据采集</b>套装,一站式集成,应用广泛!

    PLC物联网解决方案:中水回用设备数据采集系统

    中水回用设备数据采集解决方案是指通过采集中水回用设备PLC的数据实现对设备的远程监控和智能运维。根据物通博联PLC物联网解决方案,该
    的头像 发表于 06-14 14:12 425次阅读
    PLC物联网解决<b class='flag-5'>方案</b>:中水回用设备<b class='flag-5'>数据采集</b>系统

    单片机中常见GPIO的八种工作模式详解

    GPIO 是通用输入/输出端口的简称,是 STM32控制的引脚。GPIO 的引脚与外部硬件设备连接,可
    发表于 06-13 09:26 9410次阅读
    单片机中常见<b class='flag-5'>GPIO</b>的八种工作模式详解