stm32的端口配置寄存器为什么有两个?具体下
答案:2 悬赏:40
解决时间 2021-02-10 18:03
- 提问者网友:傲气稳全场
- 2021-02-10 08:46
stm32的端口配置寄存器为什么有两个?具体下
最佳答案
- 二级知识专家网友:蜜罐小熊
- 2021-02-10 09:06
好好看看固件库、芯片手册、再去stm的官网下载一个固件库 看看里面的例程 你就知道了
全部回答
- 1楼网友:甜野猫
- 2021-02-10 10:29
你指的冲突是他们的地址冲突还是同时使用发生冲突?
他们是没有冲突的,简单的你可以这么理解:对gpiox_bsrr和gpiox_brr寄存器的操作就等同于对gpiox_odr寄存器进行操作。
gpiox_brr是16位复位寄存器,gpiox_bsrr是32位置为/复位寄存器,对于gpiox_bsrr寄存器我们一般只用它的置位功能,就算要用它的复位功能也不会和brr寄存器冲突。
比如下面的代码:
gpioa->brr = gpio_pin_0|gpio_pin_1;
gpioa->bsrr = gpio_pin0|gpio_pin_1;
就等同于下面的代码:
gpioa->odr &= ~(gpio_pin_0|gpio_pin_1);
gpioa->odr |= (gpio_pin_0|gpio_pin_1);
并不会发生什么冲突。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯