STM32F103RCT6的GPIO

2023-10-31 19:40
文章标签 gpio stm32f103rct6

本文主要是介绍STM32F103RCT6的GPIO,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

概述

IO口的基本结构

4种输入模式

输入浮空

​输入上拉

输入下拉

模拟输入

​4种输出模式

开漏输出

开漏复用功能

推挽式输出

推挽式复用功能

3种最大翻转速度

每组IO口包括的寄存器

端口复用

端口重映射

GPIO查看MODE、PIN、SPEED的可选项


概述

STM32F103RCT6

共4组IO口

16*3+3 = 51个IO口

GPIOA0 ~ A15

GPIOB0 ~ B15

GPIOC0 ~ C15

GPIOD0 ~ D2

IO口的基本结构

4种输入模式

输入浮空

输入上拉

上图中上面打叉的部分开关闭合,上拉电阻约为30至50k

输入下拉

与上类似

模拟输入

4种输出模式

开漏输出

开漏复用功能

推挽式输出

推挽式复用功能

3种最大翻转速度

2MHz

10MHz

50MHz

每组IO口包括的寄存器

  • 两个32位配置寄存器,GPIOx_CRL  GPIOx_CRH
  • 两个32位数据寄存器,GPIOx_IDR   GPIOx_ODR
  • 一个32位置位/复位寄存器,GPIOx_BSRR
  • 一个16位复位寄存器,GPIOx_BRR
  • 一个32位锁存寄存器,GPIOx_LCKR

每个IO端口位允许自由编程,然后IO端口寄存器必须按32位字进行访问,不允许字节访问

对于一组IO口,每个IO口的配置需要寄存器的4位,每组一共16个IO口,因此需要寄存器的64位,由于STM32是32位的,所以分成了2个寄存器去配置

GPIOx_CRL:PA0~PA7

GPIOx_CRH:PA8~PA15

每个IO口的配置需要寄存器的4位,其中2位是模式位MODE,2位是配置位CNF

输入数据寄存器

GPIOA_IDR分别对应每一位,即GPIOx_IDR0对应PA0

输出数据寄存器

GPIOA_ODR与上类似

GPIOx_BSRR置位寄存器

其实就是控制下图红框中的部分

例如,我要操作某一位,使其置1,则只需要将这一位置1,其他位置0即可,与ODR寄存器不同的是,ODR寄存器给1就是1,给0就是0,BSRR给1就是1,给0不修改

通常只使用BSRR的低16位

GPIOx_BRR置位寄存器

类似

通常只使用BRR的低16位

端口复用

相当于是一个开关

端口重映射

方便布线,参考Datasheet里的Remap

STM32的所有IO口都可以作为中断输入

GPIO查看MODE、PIN、SPEED的可选项

类似地,查看PIN

查看SPEED

这篇关于STM32F103RCT6的GPIO的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/317664

相关文章

A20 操作GPIO口

例如:先在 Sys_config.fex文件中 [1302_para] 1302_used      = 1 1302_clk             = port:PD05<1><default><default><0> 1302_dat             = port:PD06<1><default><default><0> 1302_rs

新路程------sil9135 hi3516a gpio功能确认

首先确认SCDT管脚 数据手册解释: 也就是hi3516端应该配置为in,这个pin用来表示有video进来,那么进来前后,pin的状态是如何变化的呢? 还有编程手册里 有寄存器可以读取这个SCDT的值,那么还要这个pin干什么呢?不太理解,以后解释 接下来是int pin,中断好配, hi3516a这边是gpio11_2,先看是否配成gpio /usr #

【STM32开发】GPIO最全解析及应用实例

目录 【1】GPIO概述 GPIO的基本概念 GPIO的应用 【2】GPIO功能描述 1.IO功能框图 2.知识补充 3.功能详述 浮空输入 上拉输入 下拉输入 模拟输入 推挽输出 开漏输出 复用开漏输出和复用推挽输出 【3】GPIO常用寄存器 相关寄存器介绍 4个32位配置寄存器 2个32位数据寄存器 1个32位 置位/复位寄存器 2个32位 复用功能配置寄存器 常用寄存器详述 GPIO端

集成电路学习:什么是GPIO通用输入输出

GPIO:通用输入输出         GPIO,全称General Purpose Input/Output,即通用输入/输出端口,是嵌入式系统中非常重要的基本硬件资源之一。以下是对GPIO的详细解析: 一、GPIO的定义与功能         GPIO是一种非常灵活的接口,可以实现数字输入、数字输出、模拟输入、模拟输出等多种功能。它作为微控制器、嵌入式系统或其他电子设备与外部世界进行

TI DSP TMS320F280025 Note9:GPIO输入输出与外部中断功能原理与应用

TMS320F280025 GPIO输入输出与外部中断功能原理与应用 文章目录 TMS320F280025 GPIO输入输出与外部中断功能原理与应用GPIO原理输入输出模式的共同特性1. 复用设置2. 内部上拉设置3. GPIO状态读取 对于输出模式输出电平设置开漏输出设置 对于输入模式极性设置采样类型不同步(异步输入)只同步到SYSCLKOUT使用采样窗口进行鉴定 外部输入中断G

笔记 10 : 彭老师课本第 5 章 , GPIO , vim 的复制剪切删除 ; uboot读写内存的 md , nm 命令

(77) 进入代码实验以来,开始有机会频繁的修改源代码。补充 vim 的使用: ++ (78) 如何只查看某个文件的权限,属性: (79) 关于 rm 命令: (80) 接着学习 新的 Uboot 命令: md/nm 显示内存与修改内存: uboot 有很多不错的调试命令。之前学习和使用了 loadb 指令指定指令的加载地址, 如 40008000 H: ++ nm

STM32 GPIO的深度了解

STM32的开发学习主要涉及软硬件两个部分的实现,包含众多外设和总线的理解配置。STM32的整个学习曲线并不陡峭,但入门却相当困难,因此在学习之初,多动手实验和测试相当重要,GPIO作为整个STM32与外部连接的端口,难度不高,却十分重要。从深入解析GPIO外设开始,一步步熟悉掌握STM32各个模块,就是STM32的整个学习流程。 GPIO模块回顾     在嵌入式软件开发中,几乎所有功

【openwrt-21.02】T750 openwrt-21.02 Linux-5.4.238 input子系统----gpio-keys实现分析

input子系统           输入子系统是由设备驱动层(input driver)、输入核心层(input core)、输入事件处理层(input event handle)组成 input子系统架构图 gpio-keys         gpio-keys是基于input子系统实现的一个通用按键驱动,该驱动也符合linux驱动实现模型,即driver和device分离模型.一

RK方案有时一开机要设置GPIO口点平

有时候RK方案,需要一开机就设置GPIO口电平,需要在uboot阶段,board.c #define GPIO_BANK0 0#define GPIO_BANK1 32#define GPIO_BANK2 64#define GPIO_BANK3

树莓派 raspberry pi GPIO python

转自https://blog.csdn.net/m0_38039437/article/details/80300680 树莓派 raspberry pi GPIO python   RPiGPIO模块基本使用 导入模块引脚编号方式设置一个通道输入输出设置多个通道的输出清空GPIO 输入 上拉或者下拉电阻测试输入轮询中断与边沿检测线程回调开关去抖GPIO 输出 设置RPiGPIO设置