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