STM32操作BSRR寄存器用/=和=的区别

BSRR寄存器的优点多多,所以官方HAL库操作GPIO都是使用的BSRR寄存器。

有个问题,因为BSRR寄存器只能写1,写0是无效的,所以在想要只改变单独一个引脚电平且不影响其他引脚时可以直接写入"=",不必使用"|="

下面是官方库函数写寄存器的方法。

d61da417061c4d43acceb49d62e046f1.png

 

现在问题就来了,"="和"|="到底哪个更快呢?

通常操作寄存器我们都习惯用"|="

因为没法实验验证到底哪个快!理论上"="要会快点,毕竟不用比较直接对位进行覆盖。

但如果速度相差不大还是我觉得还是用BSRR  |= (1<< n)吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值