首页 > 其他分享 >STM32F10系列开发板的GPIO介绍

STM32F10系列开发板的GPIO介绍

时间:2024-04-13 14:12:25浏览次数:21  
标签:输出 IO 电阻 端口 开发板 STM32F10 寄存器 GPIO

1.GPIO介绍 GPIO 是控制或者采集外部器件的信息的外设,即负责输入输出。它按组分配,每组 16 个 IO 口,组数视芯片而定。STM32F103ZET6 芯片是 144 脚的芯片,具有 GPIOA、GPIOB、GPIOC、 GPIOD、GPIOE、GPIOF 和 GPIOG 七组 GPIO 口,共有 112 个 IO 口可供我们编程使用 2.GPIO八种功能模式

2.1、输入浮空 输入浮空模式:上拉/下拉电阻为断开状态,施密特触发器打开,输出被禁止。输入浮空模 式下,IO口的电平完全是由外部电路决定。如果IO引脚没有连接其他的设备,那么检测其输 入电平是不确定的。该模式可以用于按键检测等场景。

 

    2.2、输入上拉 输入上拉模式:上拉电阻导通,施密特触发器打开,输出被禁止。在需要外部上拉电阻的 时候,可以使用内部上拉电阻,这样可以节省一个外部电阻,但是内部上拉电阻的阻值较大, 所以只是“弱上拉”,不适合做电流型驱动。

 

2.3、输入下拉 输入下拉模式:下拉电阻导通,施密特触发器打开,输出被禁止。在需要外部下拉电阻的 时候,可以使用内部下拉电阻,这样可以节省一个外部电阻,但是内部下拉电阻的阻值较大, 所以不适合做电流型驱动。

 

2.4、模拟输入 模拟功能:上下拉电阻断开,施密特触发器关闭,双MOS管也关闭。其他外设可以通过模 拟通道输入输出。该模式下需要用到芯片内部的模拟电路单元单元,用于ADC、DAC、MCO 这类操作模拟信号的外设。

 

  2.5、开漏输出 开漏输出模式:STM32的开漏输出模式是数字电路输出的一种,从结果上看它只能输出低 电平Vss或者高阻态,常用于IIC通讯(IIC_SDA)或其它需要进行电平转换的场景。 开漏模式下,IO是这样工作的: P-MOS被“输出控制”控制在截止状态,因此IO的状态取决于N-MOS的导通状况; 只有N-MOS还受控制于输出寄存器,“输出控制”对输入信号进行了逻辑非的操作; 施密特触发器是工作的,即可以输入,且上下拉电阻都断开了,可以看成浮空输入;

 

2.6、推挽输出 推挽输出模式:STM32的推挽输出模式,从结果上看它会输出低电平VSS或者高电平 VDD。推挽输出跟开漏输出不同的是,推挽输出模式P-MOS管和N-MOS管都用上。

 

  2.7、开漏式复用功能 开漏式复用功能:一个IO口可以是通用的IO口功能,还可以是其他外设的特殊功能引脚, 这就是IO口的复用功能。一个IO口可以是多个外设的功能引脚,我们需要选择作为其中一个 外设的功能引脚。当选择复用功能时,引脚的状态是由对应的外设控制,而不是输出数据寄存 器。除了复用功能外,其他的结构分析请参考开漏输出模式。 另外在开漏式复用功能模式下,施密特触发器也是打开的,我们可以读取IO口的电平状 态,同时外设可以读取IO口的信息。

 

  2.8、推挽式复用功能 推挽式复用功能:和开漏式复用功能类似,只是推挽式复用功能P-MOS和N-MOS都启用了

 3.GPIO寄存器

STM32F1每组(这里是A~D)通用GPIO口有7个32位寄存器控制,包括: 2个32位端口配置寄存器(CRL和CRH) 2个32位端口数据寄存器(IDR和ODR) 1个32位端口置位/复位寄存器(BSRR) 1个16位端口复位寄存器(BRR) 1个32位端口锁定寄存器(LCKR) 3.1 端口配置寄存器 配置寄存器就是用来配置GPIO的相关工作模式和工作速度,它们通过不同的 配置组合方法,就决定我们所说的8种工作模式。

3.1.1 GPIOx_CRL寄存器 偏移地址:0x00 复位值:0x44444444

 3.1.2 GPIOx_CRH寄存器

偏移地址:0x04 复位值:0x44444444

 

 3.2 端口数据寄存器

3.2.1端口输出数据寄存器(GPIOx_ODR)

地址偏移:0Ch 复位值:0x00000000 端口输出数据寄存器用于控制GPIOx的输出高电平或者低电平。 该寄存器低16位有效,分别对应每一组GPIO的16个引脚。

 

3.2.2端口输入数据寄存器(GPIOx_IDR)

地址偏移:0x08 复位值:0x0000XXXX

端口输出数据寄存器用于接收GPIOx的输入高电平或者低电平。

该寄存器低16位有效,分别对应每一组GPIO的16个引脚。

 3.3 端口位设置/清除寄存器(GPIOx_BSRR)

地址偏移:0x10 复位值:0x00000000

 

 3.4 端口位复位寄存器(GPIOx_BRR)

地址偏移:0x14 复位值:0x0000 0000

 

3.5 端口配置锁定寄存器(GPIOx_LCKR)

当执行正确的写序列设置了位16(LCKK)时,该寄存器用来锁定端口位的配置。位[15:0]用于锁 定GPIO端口的配置。在规定的写入操作期间,不能改变LCKP[15:0]。当对相应的端口位执行了 LOCK序列后,在下次系统复位之前将不能再更改端口位的配置。 每个锁定位锁定控制寄存器(CRL, CRH)中相应的4个位。 地址偏移:0x18 复位值:0x0000 0000

 

 

 

标签:输出,IO,电阻,端口,开发板,STM32F10,寄存器,GPIO
From: https://www.cnblogs.com/navysummer-hardware/p/18132799

相关文章

  • FRDM-MCXN947开发板之RGB灯
    一、背景RGBLED:通过红、绿、蓝三种颜色组合发光的LED,可以理解由三个不同发光属性的LED组成,这个是LCD平板显示原理的基础,一个LED相当于屏幕上面的一个像素FRDM-MCXN947集成了一块RGBLED,它由三个GPIO口驱动,这里由于GPIO的电平只能是0或者1,所以这里的RGBLED并不能像LCD的单......
  • G2D图像处理硬件调用和测试-基于米尔-全志T113-i开发板
    本篇测评由电子工程世界的优秀测评者“jf_99374259”提供。本文将介绍基于米尔电子MYD-YT113i开发板的G2D图像处理硬件调用和测试。 MYC-YT113i核心板及开发板真正的国产核心板,100%国产物料认证国产T113-i处理器配备2*[email protected],RISC-V外置DDR3接口、支持视频......
  • 虚拟机-Linux开发板交叉编译问题记录
    遇到一堆很久之前见过的问题,重新解决一次。1、虚拟机没法上网发现虚拟机浏览器上不了网,运行ifconfig查看,发现要么没有IP地址,要么只有IPv6的地址。最后发现是昨天VMware卡死了,启动任务管理器把相关任务全停了,dhcp服务没启动。于是点进计算机-管理-服务,重新启动。再把网络设置成NA......
  • STM32F103C8T6 技术参数和性能特点
    STM32F103C8T6是意法半导体(STMicroelectronics)生产的一款基于ARMCortex-M3内核的32位微控制器。它具有以下主要功能: 1.ARMCortex-M3内核:STM32F103C8T6采用32位ARMCortex-M3内核,工作频率最高可达72MHz,提供较高的处理能力。 2.存储器:内置高达64kB的闪......
  • TQZC706开发板教程:使用Vivado和Vitis烧写flash
    本文所使用的文件链接:https://pan.baidu.com/s/1ZqjfJMZasteJDfZ9qcKAFQ提取码:peqa无论采用何种方式烧写Flash,都务必准备好相应的烧写文件。我在上面的链接中已提供了测试文件供您参考。烧写Flash时通常需要两个文件:BOOT.bin和zynq_fsbl.elf,请确保您已备齐这两个文件,以便......
  • Proteus8.0仿真应用设计(二十六)基于FreeRTOS、STM32F103C8、HAL库、4x4矩阵键盘应用设
    一、仿真原理图:二、部分代码:        按键采集uint8_tKeyScan(void){ uint8_tvalue=0x00; KeyPort->ODR=0x00; KeyPort->ODR=0xf7; if((KeyPort->IDR&0xf0)!=0xf0) { HAL_Delay(50); if((KeyPort->IDR&0xf0)!=0xf0) { value=......
  • 这个开发板在线仿真网站你一定不能错过
    大家好,我是知微!今天给大家推荐一个免费的在线的开发板仿真网站,你可以使用它来仿真Arduino、ESP32和许多其他流行的电路板、元器件以及传感器,免去初期需要购买开发才能学习的困扰。它就是Wokwi,网址如下https://wokwi.com/Arduino仿真ESP32仿真STM32仿真树莓派仿真创......
  • IMX6ULL开发板网络环境配置
    #开发板网络配置+1f123252-3539-49b7-ad87-7743b40c3ca4#1.路由器和交换机的区别路由器和交换机还是有所区别的。如果是使用交换机,则接入网线生成的IP是和原宽带的IP是在同一网段的。如果使用的是路由器,宽带接入WLAN口,开发板网线和电脑网线接在LAN口,则开发板网段和电脑......
  • STM32F103通过labview上位机上传温湿度数据到OneNET物联网平台
    资料下载地址:STM32F103通过labview上位机上传温湿度数据到OneNET物联网平台本实验通过两个STM32单片机设备分别测量室内外的温湿度,并把数据发送到上位机上传到ONENET物联网平台。大体数据传输流程如下:首先是注册OneNET平台账号,进入https://open.iot.10086.cn/ 从开发者......
  • 不到2000字,轻松带你搞懂STM32中GPIO的8种工作模式
    大家好,我是知微!学习过单片机的小伙伴对GPIO肯定不陌生,GPIO(generalpurposeinputoutput)是通用输入输出端口的简称,通俗来讲就是单片机上的引脚。在STM32中,GPIO的工作模式被细分为8种,对于初学者来讲,要理解它们可太难了!诶诶诶,给个机会,先别急着退出哈!这不是有我在呢,跟着这篇文......