
首先明确用寄存器开发玩的就是内存 通过地址映像我们了解到这块内存 如下图想要玩哪个功能就玩哪块的内存 ![]() 以GPIOA外设为例 玩的就是 0x4001 0800 - 0x4001 0BFF这块内存 ![]() 通过地址偏移可以有更详细的配置 0x4001 0800 +0x00就访问到了这个寄存器 ![]() 访问到了你得玩起来呀,使用*解引用且赋值就可以操作这块内存了,按照参考手册正确的赋值的值就可以达到你想要的效果。 例如CRL寄存器解引用 |=0001 意思就是配置为通用推挽输出,且输出模式最大速度为10MHZ 这里只是举例,实际还需考虑移位,不影响其它位,总结就是与(&)0是清除,或(|)是赋值 上述只是对stm32寄存器的开发做一个大致的说明 想要真正的实现功能需要多个寄存器配合。 ———————————————— 版权声明:文某9 如有侵权请联系删除 |
DAC,COMP,HRTIM Fault 功能的使用
一个软件引起的 LSE 驱动不良的问题
STM32 GUI LTDC 最大像素时钟评估方法
STM32 Cordic 运算速度评估
全新OpenSTLinux 6.1版本发布
ST-LINK Utility介绍、下载、安装和使用教程
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法