stm32——使用结构体描述寄存器映射

本文介绍了STM32的外设寄存器组织方式,通过基地址和寄存器偏移量管理GPIO等寄存器。利用C语言结构体,将寄存器映射为结构体成员,方便访问。例如,GPIO的MODER、OTYPER等寄存器通过特定偏移量与基地址结合,形成结构体指针,实现对硬件寄存器的抽象操作。此外,还给出了GPIO各端口的基地址定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将地址信息放在一个头文件中方便管理,存放地址和偏移量

STM32的外设寄存器的组织形式是

基于基地址+寄存器偏移地址

 比如,在RCC的基地址基础上,偏移0x00得到RCC_CR寄存器,偏移0x04得到RCC_PLLCFGR寄存器...这与C语言的结构体成员很像,因此可以用结构体成员来描述寄存器的映射

以GPIO寄存器映射来说明这一关系

1.GPIO寄存器的映射关系

 

 以下同理

 

2 寄存器间的偏移关系

注意:GPIO端口模式寄存器MODER有32位,也就是占据4个字节,因此必须偏移4个字节,也就是32位才能到达下一个寄存器

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值