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

STM32寄存器开发流程

[复制链接]
攻城狮Melo 发布时间:2023-5-1 18:51
首先明确用寄存器开发玩的就是内存0 d' L% P" ^/ d0 k/ u, t) `6 p- E
通过地址映像我们了解到这块内存

* U, G! e& W+ ]1 e如下图想要玩哪个功能就玩哪块的内存0 q  v  @# q2 u; t) r

0 N* ?5 m: U! e- u5 ]
aebfa59ee69e4330a3d31b6d0889026b.png
$ }9 [% ~# [3 d8 b( ?% I. f

! A$ |; q% u  n% l+ h+ ]* l4 G以GPIOA外设为例$ r' V& t4 l0 C0 C; z
玩的就是 0x4001 0800 - 0x4001 0BFF这块内存! M; M/ S5 _; @( w, z1 S

+ |0 H3 c( a" X) e- n8 j" U# u/ K
488436fbfb3a492692c8c671b211b4ee.png
! E" t! P4 I6 h/ ?7 u# |/ o$ ?5 J- M! i) l
通过地址偏移可以有更详细的配置
7 O$ N2 L3 ^6 @* {5 A; t. T0x4001 0800 +0x00就访问到了这个寄存器
0 b/ G% z& r- x7 {
4ffd9600ef2149a9b8ad15a6ae5b70d1.png 3 }+ h. c: g) S8 Y' S
0 Q3 I- d9 P2 {( v
访问到了你得玩起来呀,使用*解引用且赋值就可以操作这块内存了,按照参考手册正确的赋值的值就可以达到你想要的效果。
, B3 c  s% i" P" e: e! s1 x% N

9 P" j: t2 Y* ~$ l3 K  _例如CRL寄存器解引用 |=0001 意思就是配置为通用推挽输出,且输出模式最大速度为10MHZ 这里只是举例,实际还需考虑移位,不影响其它位,总结就是与(&)0是清除,或(|)是赋值
; K9 S# |  k0 ^6 W" g+ W8 f
9 }- {' d. S3 w/ L+ H
上述只是对stm32寄存器的开发做一个大致的说明 想要真正的实现功能需要多个寄存器配合。
2 O- n- d+ Y+ b$ G2 ~0 n5 `4 [————————————————; f6 o" y% ]! `) `2 {
版权声明:文某90 D4 e& W9 T: M, e0 Z) O/ f! I9 b
如有侵权请联系删除
0 }* n) G2 g. n, k' ]* l3 }# u: R' n0 A( e- P5 j
8 W; Y, v0 z: O$ s& q4 O9 g  _

' c. [% l+ w7 u* A# z
收藏 评论0 发布时间:2023-5-1 18:51

举报

0个回答

所属标签

相似技术帖

官网相关资源

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