STM32F103 GPIO寄存器配置

本文详细介绍了STM32F103 GPIO的寄存器配置,包括配置寄存器GPIOx_CRL和GPIOx_CRH、数据寄存器、位置位/复位寄存器、复位寄存器和锁定寄存器的使用。同时,讲解了GPIO_Init函数及GPIO_InitTypeDef结构体的参数含义,如GPIO_Pin、GPIO_Speed和GPIO_Mode的设置,以及RCC_APB2PeriphClockCmd函数用于控制GPIO时钟的使能和失能。还提供了GPIO读写和状态控制的相关函数。
摘要由CSDN通过智能技术生成

每个GPI/O端口有
两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH)
两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR)
一个32位置位/复位寄存器(GPIOx_BSRR)
一个16位复位寄存器(GPIOx_BRR)
一个32位锁定寄存器(GPIOx_LCKR)



函数介绍
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)

功能: 根据 GPIO_InitStruct 中指定的参数初始化外设GPIOx寄存器
参数: GPIOx:x可以是A,B,C,D或者E,来选择GPIO外设
GPIO_InitStruct 指向结构GPIO_InitTypeDef的指针,包含了外设GPIO的配置信息

GPIO_InitTypeDef定义于文件“stm32f10x_gpio.h”
typed

在使用STM32F103系列芯片时,需要进行GPIO复用配置。要配置复用功能,需要执行以下步骤: 1. 配置相应的GPIO口。如果系统的UART需要进行重映射,可以使用GPIO_PinRemapConfig函数进行重映射操作。例如,可以使用以下代码进行UART2的重映射配置GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE); 2. 每个IO口都有多个寄存器用于配置和控制。其中,常用的寄存器有以下几个: - GPIOx_CRL:端口配置寄存器,用于配置低8位引脚的模式、速度和上下拉等设置; - GPIOx_CRH:端口配置寄存器,用于配置高8位引脚的模式、速度和上下拉等设置; - GPIOx_IDR:端口输入寄存器,用于读取引脚的输入状态; - GPIOx_ODR:端口输出寄存器,用于设置引脚的输出状态; - GPIOx_BSRR:端口位设置/清除寄存器,用于设置或清除引脚位的状态; - GPIOx_BRR:端口位清除寄存器,用于清除引脚位的状态; - GPIOx_LCKR:端口配置锁存寄存器,不常用。 3. 在配置GPIO复用时,需要注意一些常见问题。例如,UART和SPI之间可能存在冲突,需要关闭SPI的时钟。另外,要仔细分析程序,最常见的问题可能是RCC(时钟控制)配置不正确。可能会出现一些功能模块的使能导致其他模块不正常工作的情况。因此,在配置时需要仔细检查RCC相关的设置,确保没有冲突。 以上是关于STM32F103GPIO复用配置的一些说明。具体的配置步骤和代码实现可以根据具体的需求和应用进行调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [STM32F103_USART_GPIO配置及相应的IO口设置](https://blog.csdn.net/andrewgithub/article/details/54093412)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [STM32F103 GPIO口的配置和应用详解](https://blog.csdn.net/weixin_43627022/article/details/103108920)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值