stm32寄存器开发

在stm32开发中,利用寄存器和标准库一起使用会比较方便。

有些寄存器在使用前要先清零以GPIO控制器配置为例PA8 
GPIOA->CRH &= ~(15<<0);//清零   15的2进制是1111 相当于把1111从最右边开始左移了0位 作用是把GPIOA的CRH寄存器的最后4位置零 

   GPIOA->CRH |= (2<<0);//同理2的2进制是10 相当于10从最右边开始左移了0位 作用是把GPIOA的CRH寄存器的最后2位置1 开始启动某些功能

abc->de &= ~(x<<y)  abc的de寄存器的某位或某几位清零

abc->de |= (x<<y )    abc的de寄存器的某位或某几位置1

直接对寄存器进行位操作有时可以更方便快捷,对于标准库没有相应寄存器操作的直接对寄存器操作可以解决这个问题

也可以直接对寄存器赋值  abc->de = 0x00000000 相应的也可以直接读取寄存器的值 data = abc->de 例如在通讯发送和接收数据寄存器  USART1->DR非常好用,可以对整个数据寄存器进行读写操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值