首页 > 解决方案 > STM32 寄存器值不变

问题描述

问题定义

板子:STM32F407

大家好,

我正在尝试更改任何寄存器值。但它没有改变。例如,如果我们查看 GPIOB 端口的 MODER 寄存器,它的端口 B 的默认值为“0x0000 0280”。这意味着 MODER 寄存器 7 和 9 的值为 1,其他 MODER 寄存器的值为 0。我正在尝试更改 1对于MODER 7寄存器为0。我正在分享我在下面做的简单的一行。

GPIOB ->MODER &= ~(1 << 7);

调试过程 在此处输入图像描述

我正在调试代码。并且寄存器值不会改变。我尝试了另一个寄存器,看看它是否完成。但它没有。我能做什么,我有什么错。

预先感谢

标签: stm32cmsis

解决方案


您需要先在其中一个 RCC 寄存器中启用 GPIOB 时钟。

如果时钟被禁用,外设的数字部分也被禁用。


推荐阅读