STM32学习笔记——对寄存器的位操作

GPIO中的寄存器类型

表一 F1系列通用寄存器GPIOX_yyy

名称作用
CRL端口配置低寄存器
CRH端口配置高寄存器
IDR端口输入寄存器
ODR端口输出寄存器
BSRR端口设置/清除寄存器
BRR端口位清除寄存器
LCKR配置锁定

表二 F4/F7/H7系列

项目Value
MODER设置模式
OTYPER设置输出类型
OSPEEDR设置输出速度
PUPDR设置上下拉电阻
IDR输入数据
ODR输出数据
BSRR设置ODR寄存器
LCKR端口位清除寄存器

对寄存器的位操作运算

1.与非:&=~ (清零)
2.或:|= (置一)
将需要清零或者置一的位设置为1

代码规范化

1.对于一个位控制一个GPIO的寄存器(如IDR或者ODR),位操作的右边通常写做(1<<A)的形式,表示对表示对寄存器的第A位进行清零或者置一的操作
2.对于四个位控制一个GPIO的寄存器(如CRL或者CRH),位操作的右边通常写作((A)<<(4*B))的形式,表示对第B个IO口的进行清零或者置一操作,相对位置由A中的1决定。其中A是一个4位二进制数。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值