一眼就能看懂STM32的外设GPIO(通用输入输出)

这篇具有很好参考价值的文章主要介绍了一眼就能看懂STM32的外设GPIO(通用输入输出)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、GPIO简短介绍

GPIO,简称通用输入输出,关键在于他是通用的。任何外设都可以用它,他的主要目的在于控制的IO,输出或由外部输入高低电平,与之对应的是AFIO的复用输入输出,当用到引脚的第二个功能的时候,就需要启用它;

你只需要记住他:他是控制引脚(IO口)的输入输出功能,高低电平

二,功能介绍(记住8个输入输出)

2.1 输入模式

上拉输入(GPIO_Mode_IPU):直接读取IO口的值,默认高电平;

下拉输入(GPIO_Mode_IPD):直接读取IO口的值,默认低电平

浮空输入(GPIO_Mode_IN_FLOATING):呈现高阻态,悬空电平值不确定,按键的时候用它

模拟输入(GPIO_Mode_AIN):不经过施密特触发器,用于ADC模拟输入

2.2输出模式

开漏输出(GPIO_Mode_Out_OD):本身不输出电压,想让他出现高电平,必须借一个上拉的电阻

推挽输出(GPIO_Mode_Out_PP):直接输出高低电平,低电平接地,高电平输出电源电压

复用,其他外设需要用GPIO的时候用他

复用推挽输出(GPIO_Mode_AF_PP):I2C的SDA,SDL

复用开漏输出(GPIO_Mode_AF_OD):SPI的MOSI、MISO

三、如何使用它

我将简短为三步

第一步 开启外设所在的总线

RCC_APB2PeriphClockCmd(ECC_APB2Periph_GPIOA,ENABLE);//使能GPIOA端口

第二步 初始化GPIO外设(STM32的外设使用前必须初始化,否则无法使用)

GPIO_InitTypeDef G;//结构体建立
G.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出,直接使用他的高低电平
G.GPIO_Pin=GPIO_Pin_1;//指定他的引脚PA1
G.GPIO_Speed=GPIO_Speed_50MHz;//速率50MHz-----他有三种频率2、10、50
GPIO_Init(GPIOA,&G);初始化

第三步  调用GPIO的库函数,发挥其功能

//最常用的几个库函数
GPIO_SetBIits(GPIOA,GPIO_Pin_1)//将它置于高电平,PA1=1;
相反的函数
GPIO_ResetBits(GPIOA,GPIO_Pin_1);//将他置于低电平,PA1=0;

关注我,我教你如何点亮第一个LED灯,请看我下一篇文章文章来源地址https://www.toymoban.com/news/detail-766336.html

到了这里,关于一眼就能看懂STM32的外设GPIO(通用输入输出)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言指针详解(2)(能看懂文字就能明白系列)

    能看懂文字就能明白系列 C语言笔记传送门 🌟 个人主页 :古德猫宁- 前面有篇文章简单的介绍了指针及其一些简单的运算和野指针,指针提供了一种以符号形式使用地址的方法。因为计算机的指令非常依赖地址,指针在某种程度上把程序员想要传达的指令以更接近机器的方

    2024年01月16日
    浏览(42)
  • STM32外设GPIO(学习笔记)

    在编写stm32程序时,对寄存器进行操着需要知道每个外设的基地址,标准库的stm32f10x.h文件里也有各种外设的基地址。 比如GPIO:在定义输出数据寄存器地址GPIOA_ODR_Addr时,在GPIOA_BASE(GPIO端口A的基址地址)地址基础上偏移 在stm32f10x.h文件里面有定义GPIOA_BASE,是APB2PERIPH_BASE(

    2024年04月12日
    浏览(44)
  • C语言中6个常见的动态内存的错误详解(能看懂文字就能明白系列)

    🌟 个人主页 :古德猫宁- 本节目标: 前面的文章介绍了C语言的动态内存开辟,本文重点讲述常见的动态内存的错误 解释: 这段代码的主要目的是使用动态内存分配(malloc)为一个整数分配内存,将其值设置为 20,然后使用 free 函数释放该内存。从代码的角度来看,没有显

    2024年02月04日
    浏览(36)
  • STM32 GPIO输入检测——按键

    在嵌入式系统开发中,对GPIO输入进行检测是一项常见且关键的任务。STM32微控制器作为一款功能强大的处理器,具有丰富的GPIO功能,可以轻松实现对外部信号的检测和处理。在本文中,我们将深入探讨如何在STM32微控制器上进行GPIO输入检测,并介绍两种常见的方法:轮询检测

    2024年04月10日
    浏览(39)
  • STM32萌新学习日志——用GPIO外设寄存器输出点亮LED对比库函数点亮LED——谈学习感悟

            本周学习STM32单片机,由于之前学过51单片机,为了便于切入,先学习了寄存器点亮LED灯的方法,整体思路与51单片机相似。在基本掌握后,尝试自己构建库函数雏形,过程比较困难,后面开始借鉴野火官方库函数。         这里其实建议大家在学会构建库函数后

    2024年03月17日
    浏览(95)
  • STM32CubeMX教程3 GPIO输入 - 按键响应

    开发板(STM32F407G-DISC1) STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 使用STM32CubeMX软件配置STM32F407开发板的按键作为输入,利用按键输入使LED灯产生响应 对于所有的GPIO来说都是既可以作为输出引脚也可以作为输入引脚使用,本开发板上有一个用户按键,

    2024年02月03日
    浏览(61)
  • 【STM32零基础入门教程03】GPIO输入输出之GPIO框图分析

             本章节主要讲解点亮LED的基本原理,以及GPIO框图的讲解。         首先我们查看原理图,观察电路图中LED的连接情况,如下图可以看出我们的板子中LED一端通过限流电阻连接的PB0另一端连接的是高电平VCC,那么我们将PB0位置接地是不是灯就亮了,那我们就想

    2024年02月14日
    浏览(59)
  • 【概念】区块链中账本是什么?通用区块链平台账本概念介绍,一个谁都能看懂的账本概念

    目录 前言 举个例子 账本在不同链中担任什么角色 联盟链 公有链 私有链 随着区块链的发展,目前国内也掀起了一阵区块链的热潮,无论是金融、信任、交易、溯源等领域都是非常受欢迎,慢慢的我们也将成为第一个吃螃蟹的人,本篇文章主要是与大家一起聊聊什么是区块链

    2023年04月10日
    浏览(39)
  • STM32——关于GPIO口的输出方式和输入方式

    在STM32中,我们会要使用程序来对I/O口进行控制,当我们使用I/O口时,我们就需要知道在程序中我们需要这个I/O口来实现什么功能,是输入还是输出。   1、使用输出模式 I/O口常用的输出方式有推挽输出和开漏输出。 (1)推挽输出(GPIO_Mode_Out_PP):可以输出高、低电平,连接数

    2024年02月09日
    浏览(50)
  • 【物联网】详解STM32的GPIO八种输入输出模式,GPIO各种输入输出的区别、初始化的步骤详解,看这文章就行了(超详细)_stm32输出模式

    复用开漏输出(AF Open-Drain Output):复用开漏输出模式允许将GPIO引脚用作特定外设功能。在该模式下,引脚只能输出低电平,要输出高电平需要通过外部上拉电阻或其他方式。 浮空输入(Floating Input):浮空输入模式是一种高阻抗输入模式。在该模式下,引脚不连接到外部电路,处

    2024年04月27日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包