STM32相关寄存器操作说明

本文详细介绍了STM32中GPIO端口配置寄存器CRL和CRH的使用方法,包括如何通过位操作设置GPIO引脚为推挽输出模式并设定速度为50MHz。通过示例代码解释了对PA0和PA10的配置过程,涉及对寄存器的清零和赋值操作。
摘要由CSDN通过智能技术生成

STM32相关寄存器操作说明

GPIOx->CRL端口配置低(8位数据)寄存器
  • CRL操作的对象是0-7位的寄存器,例如PA0-PA7.PB0-PB7,
  • GPIOB->CRL|=0X00300000

CRL对应的是将要操作的是低8位数据寄存器,0X00300000对应的是第6个(从0位开始计数,从右往左数过去,第几位就是对应PB0 -PB7的哪个引脚)GPIO引脚,也就是要操作的是PB5口,数值为3,那么转换成二进制就是:0011,查看数据手册上的CRL寄存器相关数据,可以找到对应的数值含义11:就是配置:输出模式,速度50MHz,00:就对应:通用推挽输出模式,一句话概括:配置PB5为:推挽输出模式,速度为50MHz

  • 设置PA0为推挽输出速度为50MHz
GPIOA->CRL&=0XFFFFFFF0;//PA0配置清零				
GPIOA->CRL|=0X00000003;//PA0输出 速度50MHz

在这里插入图片描述

GPIOx->CRH端口配置高(8位数据)寄存器
  • CRH操作的对象是8-15位的寄存器,例如PA8-PA15.PB8-PB15,
    *
  • 设置PA10为推挽输出速度为50MHz

解析:通过查表可得,输出速度为50MHz模式:11;推挽输出:00,二进制表示就是:0011,注意低位在右边,再进行二进制转十六进制,换算可得:3,然后将3分配到所需要配置GPIO引脚上,PA10属于高8位的数据寄存器IO引脚,所以要使用CRH来配置,也就是:GPIOA->CRH,对PA10所对应引脚位进行与操作:CRH & 0xFFFFF0FF然后将结果又赋值给这个寄存器,也就是做清零操作。

GPIOA->CRH&=0XFFFFF0FF;//PA10配置清零
GPIOA->CRH|=0X00000003;//PA10输出 速度50MHz
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值