你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32寄存器开发流程

[复制链接]
攻城狮Melo 发布时间:2023-5-1 18:51
首先明确用寄存器开发玩的就是内存  Y6 N9 f6 A. p8 p& }
通过地址映像我们了解到这块内存
7 L+ `& s& d! M$ u$ t9 O  _! J4 Y
如下图想要玩哪个功能就玩哪块的内存, W+ y% z0 r9 q2 H# I! g  {- [6 z

- W0 L" o* k; e0 W! Y0 e! F& v& h  Z
aebfa59ee69e4330a3d31b6d0889026b.png + z/ H8 m; L9 I

( I! C8 S  D2 G; f9 E8 z& P以GPIOA外设为例
+ P1 c  W  ^! e8 c玩的就是 0x4001 0800 - 0x4001 0BFF这块内存
, {4 F0 |( ^7 D, i7 f/ y# e1 a: o0 Q4 P9 ?# ?; G
488436fbfb3a492692c8c671b211b4ee.png / {) `- `/ D* c$ N. H) h
6 B, N7 f) n8 _
通过地址偏移可以有更详细的配置
7 a0 H7 t' f; B, _- K' E0x4001 0800 +0x00就访问到了这个寄存器
/ @/ E; P0 |5 @# N. P; s. n- j
4ffd9600ef2149a9b8ad15a6ae5b70d1.png - w# H. _8 P/ A6 V

! t; L5 I, x8 }) d- g7 J) v; \访问到了你得玩起来呀,使用*解引用且赋值就可以操作这块内存了,按照参考手册正确的赋值的值就可以达到你想要的效果。2 C( R( t2 p, n+ g- n

+ S/ C" d6 ^6 A) ~* z7 E' F5 E  C例如CRL寄存器解引用 |=0001 意思就是配置为通用推挽输出,且输出模式最大速度为10MHZ 这里只是举例,实际还需考虑移位,不影响其它位,总结就是与(&)0是清除,或(|)是赋值& R) }. [" B% o+ V$ C. M

! E1 c8 E. K6 e1 a6 U0 L6 Q0 s% i4 J2 B上述只是对stm32寄存器的开发做一个大致的说明 想要真正的实现功能需要多个寄存器配合。1 B1 E* G3 M" M- a0 K: W: N) ^
————————————————* s# u% L  y- k: H. s
版权声明:文某9
$ {% f" E+ O. p/ T如有侵权请联系删除# A2 Z5 [% C% A/ |" I6 s+ ^
1 X# p) Z, ^0 D2 a/ j
3 |; ?* c7 _5 s

: P5 S6 i* K  V" [- v, N9 v
收藏 评论0 发布时间:2023-5-1 18:51

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版