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

STM32寄存器开发流程

[复制链接]
攻城狮Melo 发布时间:2023-5-1 18:51
首先明确用寄存器开发玩的就是内存
% v* r: i0 q- N- j通过地址映像我们了解到这块内存
( f4 I3 g5 U  ^) C4 {$ Z- D
如下图想要玩哪个功能就玩哪块的内存7 n* i& L% }% w3 y6 |
9 b2 m9 R/ a7 i
aebfa59ee69e4330a3d31b6d0889026b.png * E; T3 d# b- ]
* V+ R1 r2 x3 F6 x, I4 I5 @
以GPIOA外设为例% R6 v' B% e& M* U8 B7 z) N
玩的就是 0x4001 0800 - 0x4001 0BFF这块内存
. x. w) _* |9 }  r) @1 ?" c
1 X5 }$ @# y. t! P1 k2 F) c
488436fbfb3a492692c8c671b211b4ee.png
5 |& X& X' F5 Q* ?$ J1 z& _3 k0 s# G
通过地址偏移可以有更详细的配置3 W: C0 j/ T  l0 y
0x4001 0800 +0x00就访问到了这个寄存器% T, N: {' L8 X5 L
4ffd9600ef2149a9b8ad15a6ae5b70d1.png ! J% K$ i( @: k' U9 E

- ~7 X$ E3 p/ \" R; K$ O! m* ^* G/ c访问到了你得玩起来呀,使用*解引用且赋值就可以操作这块内存了,按照参考手册正确的赋值的值就可以达到你想要的效果。" H% n( x) _$ }+ s* t- s

6 y4 |4 i6 ]/ Z7 c- ]例如CRL寄存器解引用 |=0001 意思就是配置为通用推挽输出,且输出模式最大速度为10MHZ 这里只是举例,实际还需考虑移位,不影响其它位,总结就是与(&)0是清除,或(|)是赋值7 {& f& N9 f! L( @$ B: b

. d) R1 x! j4 v上述只是对stm32寄存器的开发做一个大致的说明 想要真正的实现功能需要多个寄存器配合。
6 }8 ?( k  P0 Y9 P0 C————————————————
* p! W9 R& I. H8 d6 Q% ?. m版权声明:文某9
7 {# b1 R; p) |: X8 Z如有侵权请联系删除
) N7 K" M- l- m
" ~8 f" n8 o  B7 N0 K. J1 J6 q8 V5 \1 M# U' m/ B* O, _
; r/ e& t7 ?1 D; Z
赞 收藏 评论0 发布时间:2023-5-1 18:51

举报

0个回答

所属标签

相似技术帖

官网相关资源

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