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

STM32寄存器开发流程

[复制链接]
攻城狮Melo 发布时间:2023-5-1 18:51
首先明确用寄存器开发玩的就是内存2 c5 V0 z2 Q, S) P0 _
通过地址映像我们了解到这块内存
8 w0 r  [4 E& N3 C/ U( |
如下图想要玩哪个功能就玩哪块的内存6 {9 ^5 ~  y0 N7 f& a1 z
% E* ]( Z5 d0 @$ A, H$ y
aebfa59ee69e4330a3d31b6d0889026b.png
# r/ Q, F( S" @. p

" \, O, k. S- B! \以GPIOA外设为例
9 {+ ~" x, I$ j& @; x8 o玩的就是 0x4001 0800 - 0x4001 0BFF这块内存& A% J2 f# ]( B/ C

+ P+ v4 s) `( l8 Y+ f# J
488436fbfb3a492692c8c671b211b4ee.png 9 f0 [( L, R( A* v  O

! Z; _' y4 _" S0 p8 O, f9 N" X通过地址偏移可以有更详细的配置
) H4 g1 _2 U; q5 j- @% E0x4001 0800 +0x00就访问到了这个寄存器
! @( P1 W  `# w
4ffd9600ef2149a9b8ad15a6ae5b70d1.png ; v5 R- y, m& ^

" p: a+ V, u9 a9 d/ X2 e/ [访问到了你得玩起来呀,使用*解引用且赋值就可以操作这块内存了,按照参考手册正确的赋值的值就可以达到你想要的效果。/ T( Z9 r( E6 Z+ I" N2 a1 P

! f# u. m  V7 g" R例如CRL寄存器解引用 |=0001 意思就是配置为通用推挽输出,且输出模式最大速度为10MHZ 这里只是举例,实际还需考虑移位,不影响其它位,总结就是与(&)0是清除,或(|)是赋值
, a4 G  R! A- e1 N

: E$ ?, l/ s/ p" D9 u上述只是对stm32寄存器的开发做一个大致的说明 想要真正的实现功能需要多个寄存器配合。
; T  N! u& i. d& [6 k9 Z* t————————————————
# M7 @; a- u# N/ M版权声明:文某9- @5 r7 U2 J  I. b4 F" c- w% _+ _
如有侵权请联系删除
; R. m8 b/ A8 |
! q1 }+ T; j' w  e1 n/ |
* U' [" H6 E% G8 z* V/ x( `8 ~  M5 L) T' j+ R& J% g
收藏 评论0 发布时间:2023-5-1 18:51

举报

0个回答

所属标签

相似技术帖

官网相关资源

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