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

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

3天内不再提示

快速搞懂GPIO控制器的六种模式

信盈达 2024-05-18 08:04 次阅读

嵌入式系统单片机开发中,GPIO(通用输入输出)控制器是一个非常重要的组件。GPIO引脚的灵活性使它们能够执行多种功能,从简单的输入输出到复杂的通信任务。为了帮助大家快速了解和掌握GPIO控制器的六种常见模式,我们特地整理了这篇文章。。
快速搞懂GPIO控制器的六种模式

我们拿STM32芯片举例,下图是GPIO控制器的简单框图:

33cfc212-14aa-11ef-bebc-92fbcf53809c.png

通过框图可以分为输入和输出两个部分

33ec784e-14aa-11ef-bebc-92fbcf53809c.png

3402039e-14aa-11ef-bebc-92fbcf53809c.png

通用输入模式:直接读(检测)IO口的电平状态;


复用输入模式:从IO进来的数据信号要经过片上外设(串口控制器),再到核心;


模拟输入模式:外界的模拟量(电压)通过IO口进入到ADC控制器,ADC控制器转换成数字量。



340e82f4-14aa-11ef-bebc-92fbcf53809c.png

34124e20-14aa-11ef-bebc-92fbcf53809c.png

通用输出模式:核心直接控制IO输出高低电平;


复用输出模式:核心将数据信号发送到片上外设,片上外设再通过IO口传送出去;


模拟输出模式:核心将数字信号发送到DAC上,DAC将数字信号转换成电压值,通过IO出去。

单片机开发过程中,需要根据实际场景去选择对应的模式,拿STM32举例,模式的选择可以通过配置GPIO端口模式寄存器来进行选择,如下图:


3428c74a-14aa-11ef-bebc-92fbcf53809c.png

看图可知这个寄存器一共有32个位,每2位控制一个GPIO口,根据寄存器每个位的描述可以知道,对应位写入0和1就可以将对应的IO口配置成相应的模式。 

总结

理解和掌握GPIO控制器的六种模式是嵌入式系统开发中的基础技能。每种模式都有其独特的应用场景和优势,通过合理配置和使用GPIO引脚,可以极大地提升系统的功能和性能。

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

    关注

    6011

    文章

    44153

    浏览量

    624289
  • 控制器
    +关注

    关注

    112

    文章

    15508

    浏览量

    173429
  • GPIO
    +关注

    关注

    16

    文章

    1151

    浏览量

    50860
收藏 人收藏

    评论

    相关推荐

    保持电容性负载稳定的六种方法

    本帖最后由 gk320830 于 2015-3-8 23:36 编辑 保持电容性负载稳定的六种方法本系列的第10部分是我们所熟悉的《电气工程》杂志(Electrical Engineering
    发表于 09-25 09:31

    内存六种异常故障排除法

    内存六种异常故障排除法  当启动电脑、运行操作系统或应用软件的时候、常常会因为内存出现异常而导致操作失败。笔者使用电脑多年,总结了一些内存出现异常的原因,并给出以下几种处理方法,希望可以给大家一些
    发表于 02-27 16:57

    基于labview的六种模式的跑马灯程序

    基于labview的六种模式的跑马灯
    发表于 12-31 12:01

    六种逆变电源的控制算法

    中已经得到了广泛的应用。将其数字化以后,它克服了模拟PID控制器的许多不足和缺点,可以方便调整PID参数,具有很大的灵活性和适应性。与其它控制方法相比,数字PID具有以下优点:a、PID算法蕴涵了
    发表于 09-26 10:20

    基于FPGA的层电梯控制器

    基于FPGA的层电梯控制器求资料
    发表于 03-16 15:19

    linux下查看网卡流量的六种方法

    本文介绍了linux下查看网卡流量的六种方法,linux系统中使用nload、iftop、iostat等工具查看网卡流量,需要的朋友参考下。
    发表于 07-25 06:29

    六种常见的串口接口电路,你都见过吗?

    六种常用串口接口电路图设计。如果你是Win95/98/Me操作系统的话那第1和第2两是最合适的,制作简单。如果是Win2000/XP操作系统的话第3最合适,当然如果你的电脑只有25针串口可以用
    发表于 09-09 07:30

    六种常见的伺服电机故障以及相对应的电机维修方法

    论是哪种伺服电机,使用时间久了,都会产生一些小问题,那今天就给大家带来的是六种常见的电机故障表现。当伺服电机出现小问题,不仅要及时检测出来,而且要找到产生这些故障的原因,伺服电机电机维修师才能对症下药,才可以修理好伺服电机。以下是六种常见的伺服电机故障以及相对应的电机维修
    发表于 02-01 06:29

    分析六种电流测量方法优缺点对比

    在极端条件下六种电流测量方法的优缺点对比
    发表于 05-07 06:29

    GPIO 8工作模式输入模式

    一、GPIO 8工作模式输入模式:1. GPIO_Mode_AIN 模拟输入2. GPIO_M
    发表于 08-13 07:27

    LPC55S16中配置GPIO控制器进入复位模式并且无法编程的原因?

    这里我们在自己的开发板LPC55S16中配置GPIO。当将 P0_31 配置为输出并且在输出方向配置 PIN 期间,控制器进入复位模式并且无法编程,直到将控制器设置为 ISP
    发表于 03-15 06:27

    六种常用串口接口电路图设计

    六种常用串口接口电路图设计。如果你是Win95/98/Me操作系统的话那第1和第2两是最合适的,制作简单。如果是Win2000/XP操作系统的话第3最合适,当然如果你的电脑只有25针串口可以用
    发表于 09-22 06:26

    【嵌入式】非操作系统下GPIO控制器及LED灯编程

    非操作系统下GPIO控制器及LED灯编程GPIO控制器概述内部架构端口寄存器GPIO控制寄存器
    发表于 11-03 17:06 14次下载
    【嵌入式】非操作系统下<b class='flag-5'>GPIO</b>口<b class='flag-5'>控制器</b>及LED灯编程

    STM32F4 GPIO模式及工作原理详解

    GPIO简介GPIO即通用I/o(输入/输出)端口,是STM32可控制引脚,更具其模式配置不同可实现信号通讯以及控制外部设备的功能在stm3
    发表于 12-24 19:11 4次下载
    STM32F4 <b class='flag-5'>GPIO</b><b class='flag-5'>模式</b>及工作原理详解

    GPIO的八种工作模式

    GPIO是通用输入/输出端口的简称,GPIO的引脚与外部设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。GPIO的8种输入模式
    的头像 发表于 07-02 16:38 8150次阅读
    <b class='flag-5'>GPIO</b>的八种工作<b class='flag-5'>模式</b>