stm32 - STM32 寄存器值不变
问题描述
问题定义
板子:STM32F407
大家好,
我正在尝试更改任何寄存器值。但它没有改变。例如,如果我们查看 GPIOB 端口的 MODER 寄存器,它的端口 B 的默认值为“0x0000 0280”。这意味着 MODER 寄存器 7 和 9 的值为 1,其他 MODER 寄存器的值为 0。我正在尝试更改 1对于MODER 7寄存器为0。我正在分享我在下面做的简单的一行。
GPIOB ->MODER &= ~(1 << 7);
我正在调试代码。并且寄存器值不会改变。我尝试了另一个寄存器,看看它是否完成。但它没有。我能做什么,我有什么错。
预先感谢
解决方案
您需要先在其中一个 RCC 寄存器中启用 GPIOB 时钟。
如果时钟被禁用,外设的数字部分也被禁用。
推荐阅读
- html - 使用 CSS 制作滑出式菜单
- html - 使 div 可滚动不在 div 中滚动
- reactjs - 如何使用 Apollo graphql 和 graphene-django 在 React 中设置初始状态
- r - 如何使用 which() 从 R 中的数据框中仅选择数字
- android - 卡在 ArrayAdapter 上
- google-chrome - URL 哈希片段中的冒号波浪号 (:~:) 是什么意思?
- python - 使用shutil在Python中复制文件,给出TypeError
- react-native - React Native 开发工作流程
- html - 为什么我在使用 HTML5 模式时遇到错误
- java - spring thymeleaf error EL1008E 在“LiveDataController$LiveDataSet”类型的对象上找不到属性或字段可能不是公共的或无效的?