GPIO寄存器BRR和BSRR问题

2019-10-15 01:05发布

原子哥和论坛中各位大哥好,求围观,刚买了原子哥的战舰开发板,现在正在看原子哥的光盘A中的PDF教材《STM32F1库函数开发指南——库函数版本》。看到165页,发现一些问题看不懂,不知道是我理解错了还是怎么回事,
小弟新手,还比较菜,有些问题看不懂。求大哥大姐们围观指导,问题如下:

看PDF和数据手册,根据GPIO寄存器的描述,理解这两个寄存器:
        BRR寄存器:是清除ODR对应位(置0),
          BSRR寄存器低16位:是置位ODR对应位(置1),

          也就是说:
          往BRR寄存器中相应位写入1应该是对应引脚置0,
          BSRR低16位相应位写入1对应引脚置1。


我理解的对吗?要是对的话,PDF中是不是写反了?如图。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
msq001
1楼-- · 2019-10-15 06:33
对,你理解的对。BRR就是Bit cleaR Register 就是位清除寄存器   BSRR是 Bit Set/cleaR Register 位 设置/清除寄存器
lsy3500
2楼-- · 2019-10-15 06:59
 精彩回答 2  元偷偷看……
lsy3500
3楼-- · 2019-10-15 07:50
本帖最后由 lsy3500 于 2017-2-20 14:46 编辑
msq001 发表于 2017-2-20 14:36
对,你理解的对。BRR就是Bit cleaR Register 就是位清除寄存器   BSRR是 Bit Set/cleaR Register 位 设置/ ...

恩恩,谢谢你。

那这样的话,原子哥的PDF教材中是不是写错了?
我的附件图片是原子哥PDF教材的截图,我看到原子哥的PDF中写的注释,好像写反了?
(图片红 {MOD}箭头部分)
是不是应该是这样才对(注释调换一下):
        GPIOB->BRR=GPIO_Pin_5; //设置 GPIOB.5 输出 0,等同 LED0=0;  
        GPIOB->BSRR=GPIO_Pin_5; //设置 GPIOB.5 输出 1,等同 LED0=1;

msq001
4楼-- · 2019-10-15 10:12
lsy3500 发表于 2017-2-20 14:44
恩恩,谢谢你。

那这样的话,原子哥的PDF教材中是不是写错了?

是的。
lsy3500
5楼-- · 2019-10-15 13:05
msq001 发表于 2017-2-20 14:45
是的。

哦哦,好的,谢谢你,那我就知道。就说看着感觉看不懂了,糊涂了。
灰常感谢哈。
lsy3500
6楼-- · 2019-10-15 14:44
msq001 发表于 2017-2-20 14:45
是的。

哦哦,好的,谢谢你,那我就知道。就说看着感觉看不懂了,糊涂了。
灰常感谢哈。

一周热门 更多>