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

STM32寄存器开发流程

[复制链接]
攻城狮Melo 发布时间:2023-5-1 18:51
首先明确用寄存器开发玩的就是内存2 ~8 G9 K) j  P/ m4 o) i2 z$ f- y
通过地址映像我们了解到这块内存
2 t0 f. _: A! U
如下图想要玩哪个功能就玩哪块的内存
( O; f# U/ y0 F8 K/ i. n1 I8 h
* `, [9 k4 s1 `* e; C
aebfa59ee69e4330a3d31b6d0889026b.png
4 ]( c/ l* B1 o7 `8 g

( Q4 P" {/ Q3 p3 ]以GPIOA外设为例
' B3 e( u! T0 {  S  ]' y) I* k玩的就是 0x4001 0800 - 0x4001 0BFF这块内存
* I* R  ]9 ^6 M& }" \2 h4 ^* {( i4 s8 i' `3 W$ H+ A
488436fbfb3a492692c8c671b211b4ee.png
5 J( _( X4 u! M. g6 Y6 h9 f1 j# l; F1 Y1 \8 D5 Y# W
通过地址偏移可以有更详细的配置& b# I% [; F1 ?* l; u# v3 a- m9 }
0x4001 0800 +0x00就访问到了这个寄存器
# q. a2 P+ P( V* w$ v: J* C6 C2 _$ `
4ffd9600ef2149a9b8ad15a6ae5b70d1.png 8 }% D& s! D- Z3 }* k0 S6 S
( I& {; E* F- s/ ]
访问到了你得玩起来呀,使用*解引用且赋值就可以操作这块内存了,按照参考手册正确的赋值的值就可以达到你想要的效果。
6 ~! j7 A" n  f9 ~- ~  j! C
# J! L% O6 O5 |* B2 n8 r. M6 ~1 ~9 n
例如CRL寄存器解引用 |=0001 意思就是配置为通用推挽输出,且输出模式最大速度为10MHZ 这里只是举例,实际还需考虑移位,不影响其它位,总结就是与(&)0是清除,或(|)是赋值0 O- p% t0 t' O9 e9 ^6 }5 ]
1 p6 }; o5 I2 I: H) Y. q0 [& ]( I, r
上述只是对stm32寄存器的开发做一个大致的说明 想要真正的实现功能需要多个寄存器配合。
2 p5 x: |2 k( e; ^6 m& V————————————————
* ?# t4 M7 I* m0 \- x% @: G2 |版权声明:文某9! a, A$ S8 X# A6 L5 H" Z5 m: }7 i
如有侵权请联系删除
  }$ f' D5 c0 O
/ H8 v/ Z* v& g& P2 q6 m1 e6 _& v7 \  z& B& Z/ y5 I6 K
0 E6 N5 F; Q: e# X6 X1 _& T
赞 收藏 评论0 发布时间:2023-5-1 18:51

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版