【STM32】STM32学习笔记-GPIO输出(05)

这篇具有很好参考价值的文章主要介绍了【STM32】STM32学习笔记-GPIO输出(05)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

00. 目录

01. GPIO简介

  • GPIO(General Purpose Input Output)通用输入输出口
  • 可配置为8种输入输出模式
  • 引脚电平:0V~3.3V,部分引脚可容忍5V
  • 输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等
  • 输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等

每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。
根据数据手册中列出的每个I/O端口的特定硬件特征, GPIO端口的每个位可以由软件分别配置成多种模式。

  • 输入浮空

  • 输入上拉

  • 输入下拉

  • 模拟输入

  • 开漏输出

  • 推挽式输出

  • 推挽式复用功能

  • 开漏复用功能

每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。

02. GPIO基本结构

系统结构

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

基本结构

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

03. GPIO位结构

I/O端口位的基本结构

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

5伏兼容I/O端口位的基本结构

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

04. GPIO模式

通过配置GPIO的端口配置寄存器,端口可以配置成以下8种模式

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

4种输入模式

  • 输入浮空
  • 输入上拉
  • 输入下拉
  • 模拟输入

4种输出模式

  • 开漏输出
  • 开漏复用功能
  • 推挽式输出
  • 推挽式复用功能

3种最大翻转速度:

  • 最大输出速度为2MHz
  • 最大输出速度为10MHz
  • 最大输出速度为50MHz

4.1 输入浮空

浮空输入模式下,I/O端口的电平信号直接进入输入数据寄存器。也就是说,I/O的电平状态是不确定的,完全由外部输入决定;如果在该引脚悬空(在无信号输入)的情况下,读取该端口的电平是不确定的。所以在要读取外部信号时通常配置IO口为浮空输入模式。
gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

4.2 输入上拉

上拉输入模式下,I/O端口的电平信号直接进入输入数据寄存器。但是在I/O端口悬空(在无信号输入)的情况下,输入端的电平可以保持在高电平;并且在I/O端口输入为低电平的时候,输入端的电平为低电平。

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

4.3 输入下拉

下拉输入模式下,IO口工作方式刚好和上拉模式相反。I/O端口的电平信号直接进入输入数据寄存器。但是在I/O端口悬空(在无信号输入)的情况下,输入端的电平可以保持在低电平;并且在I/O端口输入为高电平的时候,输入端为高电平。
gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

4.4 模拟输入

模拟输入模式下,I/O端口的模拟信号(电压信号,而非电平信号)直接模拟输入到片上外设模块,比如ADC模块等等。

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

4.5 开漏输出

开漏输出模式下,通过设置位设置/清除寄存器或者输出数据寄存器的值,控制MOS管的导通。这里要注意N-MOS管,当设置输出的值为高电平的时候,N-MOS管处于关闭状态,此时I/O端口的电平就不会由输出的高低电平决定,而是由I/O端口外部的上拉或者下拉决定;当设置输出的值为低电平的时候,N-MOS管处于开启状态,此时I/O端口的电平就是低电平。同时,I/O端口的电平也可以通过输入电路进行读取;注意,I/O端口的电平不一定是输出的电平。通常使用开漏输出时外部要加一个上拉电阻。

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

4.6 开漏复用功能

开漏复用输出模式,与开漏输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的。

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

4.7 推挽式输出

推挽输出模式下,通过设置位设置/清除寄存器或者输出数据寄存器的值,控制P-MOS管和N-MOS管的导通来控制IO口输出高电平还是低电平。这里要注意P-MOS管和N-MOS管,当设置输出的值为1的时候,P-MOS管处于开启状态,N-MOS管处于关闭状态,此时I/O端口的电平就由P-MOS管决定为高电平;当设置输出的值为0的时候,P-MOS管处于关闭状态,N-MOS管处于开启状态,此时I/O端口的电平就由N-MOS管决定为低电平。同时,I/O端口的电平也可以通过输入电路进行读取;注意,此时I/O端口的电平一定是输出的电平。

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

4.8 推挽式复用功能

推挽复用输出模式,与推挽输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的。

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

05. LED和蜂鸣器简介

  • LED:发光二极管,正向通电点亮,反向通电不亮
  • 有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定
  • 无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音
    gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

硬件电路
gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

06. 面包板

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

面包板描述

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

面包板使用示例

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

gpio脉冲输出,STM32F103,stm32,学习,笔记,stm32笔记,stm32学习笔记,江科大stm32,江科大

07. 附录

参考: 【STM32】江科大STM32学习笔记汇总文章来源地址https://www.toymoban.com/news/detail-840352.html

到了这里,关于【STM32】STM32学习笔记-GPIO输出(05)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • STM32 学习2 库函数控制GPIO输出

    GPIO是STM32微控制器上的一组引脚,可配置为输入或输出模式,用于与外部设备进行数字信号交换。每个GPIO引脚都有一个唯一的编号,通常称为引脚名称或引脚号码。 STM32系列微控制器通常具有多个GPIO引脚,数量取决于具体型号。 GPIO模块是STM32微控制器中非常重要的功能之一

    2024年02月21日
    浏览(37)
  • STM32 GPIO设置(GPIO初始化)学习笔记

    GPIO 都知道是 通用输入输出接口 的意思就不详细解释 那么我们就直接进入怎么设置GPIO接口: 这里我的编译软件是keil5,相信大家都应该知道stm32有各种的工作模式上拉、下拉、推挽、开漏等等。如果想要了解具体的工作模式原理这里我推荐大家看:推挽 开漏 高阻 这都是谁

    2024年03月28日
    浏览(55)
  • STM32外设GPIO(学习笔记)

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

    2024年04月12日
    浏览(40)
  • STM32学习笔记(二)——STM32的GPIO和AFIO

    1.1 特殊功能引脚和普通功能引脚 STM32F103C8T6共有48个引脚 特殊功能引脚(11个) Vdd+Vss给芯片供电引脚 共三队, 六个 VDDA+VSSA模拟电压 两个 (A~Analog模拟的) BOOT0启动方式选择引脚 一个 VBAT备用电池引脚(Battery) 一个 NRST复位引脚 一个 普通IO口引脚(37个) 其中特殊功能引脚

    2024年01月21日
    浏览(39)
  • stm32——hal库学习笔记(GPIO)

    一、GPIO的八种模式分析(熟悉) GPIO_Mode_IN_FLOATING 浮空输入 GPIO_Mode_IPU 上拉输入 GPIO_Mode_IPD 下拉输入 GPIO_Mode_AIN 模拟输入 GPIO_Mode_Out_OD 开漏输出 GPIO_Mode_Out_PP 推挽输出 GPIO_Mode_AF_OD 复用开漏输出 GPIO_Mode_AF_PP 复用推挽输出 应用总结 1、上拉输入、下拉输入可以用来检测外部信号

    2024年02月21日
    浏览(36)
  • 【STM32】STM32学习笔记-GPIO相关API概述(06-1)

    文件: stm32f10x_gpio.h和stm32f10x_gpio.c 参考实现 参考: 【STM32】江科大STM32学习笔记汇总

    2024年04月29日
    浏览(36)
  • stm32——GPIO输出

    (以下内容均来自:bilibili江协科技) GPIO(general purpose input output)通用输入输出口 简介: 1、可配置8种输入输出模式 2、引脚电平:0v~3.3v,部分引脚可容忍5v(可以在这个端口输入5v的电压,也认为是高电平。但对于输出而已,最大只能输出3.3v,因为供电只有3.3v) 3、输出

    2024年02月05日
    浏览(34)
  • STM32的GPIO初始化配置-学习笔记

            由于刚开始没有学懂GPIO的配置原理,导致后面学习其它外设的时候总是产生阻碍,因为其它外设要使用前,大部分都要配置GPIO的初始化,因此这几天重新学习了一遍GPIO的配置,记录如下。         首先我们要知道芯片上的引脚,并不是只有GPIO的功能,还能复用成

    2024年04月17日
    浏览(51)
  • STM32F103GPIO工作模式及原理

    GPIO,全称为通用输入输出端口,是STM32系列微控制器中的一个重要概念。STM32芯片的GPIO引脚可以被配置为输入模式或输出模式,实现与外部设备的通信、控制以及数据采集功能。 输入模式 浮空输入 上拉输入 下拉输入 模拟输入 输出模式 开漏输出 推挽输出 推挽式复用功能

    2024年01月20日
    浏览(44)
  • STM32F103——GPIO八种工作模式

    目录 1、GPIO 基本结构分析 2、GPIO 八种工作模式 2.1 输入浮空  2.2 输入上拉 2.3 输入下拉 2.4 模拟功能 2.5 开漏输出 2.6 开漏式复用功能 2.7 推挽输出 2.8 推挽式复用功能 3、GPIO 八种工作模式特点及应用  STM32F103的 GPIO 工作有八种模式,但是具体这些模式是怎么实现的?下面我们

    2024年02月14日
    浏览(109)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包