stm32f10x中GPIOA理解(二)

本文深入解析STM32单片机中GPIOA的配置寄存器CRL和CRH,阐述如何通过GPIO_Init函数初始化GPIO口,并详细解释每个IO口如何使用4位配置工作模式。CRL和CRH分别控制低八位和高八位IO口,用于设置端口的工作模式,如推挽输出、复用推挽输出等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、要理解固定库操作GPIOx的寄存器,首先固定库通过
void GPIO_Init(GPIO_TypeDef GPIOx, GPIO_InitTypeDef GPIO_InitStruct)
函数来实现的。这函数 操作寄存器CRL和CRH
二、认识GPIO的配置寄存器CRL和CRH
STM32的一组GPIO有16个IO口,比如GPIOA这一组,有GPIOA0~GPIOA15一共16个IO口。每一个IO口需要寄存器的4位用来配置工作模式。
那么一组GPIO就需要16x4=64位的寄存器来存放这一组GPIO的工作模式的配置,但STM32的寄存器都是32位的,所以只能使用2个32位的寄存器来存放了。CRL用来存放低八位的IO口(GPIOx0—GPIOx7)的配置,CRH用来存放高八位的IO口(GPIOx8—GPIOx15)的配置。
这两个寄存器的全称是:端口配置低寄存器(GPIOx_CRL) (x=A…E) 和 端口配置高寄存器(GPIOx_CRH) (x=A…E)
也就是每一组GPIO都有两个32位的寄存器是用来配置IO口的工作模式的。
三、CRL与CRH
CRL与CRH分别为端口配置低与端口配置高寄存器,为32位寄存器,其中每四位控制一个I/O口。
在这里插入图片描述

对CNFy与MODEy(y=0,1,2…7)位写1或0控制I/O口的输入输出模式
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值