打印

GPIO的BSRR和BRR寄存器的看法

[复制链接]
521|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
白鹭hu|  楼主 | 2020-4-25 14:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
BSRR的低16bit用于对端口位置1,而高16bit用于对端口位置0,也就是说GPIO如果要全置1就赋值BSRR为0x00FF,如果要全置0就赋值BSRR为0xFF00。
那么,BRR做什么用呢?BRR的高16bit保留不用,低16bit 用于对GPIO清除,这点和BSRR的高16bit作用一样啊。
可不可以认为其实BRR只是BSRR高16位的另一种使用,为的是让对GPIO设置的时候只使用16bit数据类型,也就是不论置1还是置0都统一使用UINT16_T,
比如全清除不用使用0xFF00,而是0xFF。

使用特权

评论回复

相关帖子

沙发
ayb_ice| | 2020-4-25 15:17 | 只看该作者
本帖最后由 ayb_ice 于 2020-4-25 15:20 编辑

哪有什么BRR寄存器

这样的操作是为了满足原子操作而设计的,不用传统的读改写操作,类似于位操作,但可以一次同时操作多个位,一次可以把感兴趣的位清零和置位
全部清除是0xffff0000,置位是0x0000ffff

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

396

主题

396

帖子

0

粉丝