学习STM32单片机之结构体思想

学习目标:

  • 掌握 STM32 基础知识

学习STM32单片机之------结构体思想


学习内容:

1.我们在操作寄存器的时候,操作的是寄存器的绝对地址,如果每个寄存器都这样操作,那将非常麻烦。
2.我们考虑到外设寄存器的地址都是基于外设基地址偏移地址,都是在外设基地址上逐个连续递增的,每个寄存器占32 个或者16 个字节,这种方式跟结构体里面的成员类似。
3.定义一种外设结构体,结构体的地址等于外设的基地址结构体的成员等于寄存器,成员的排列顺序跟寄存器的顺序一样。这样我们操作寄存器的时候就不用每次都找到绝对地址,只要知道外设的基地址就可以操作外设的全部寄存器,即操作结构体的成员即可。
下面先定义一个GPIO 寄存器结构体,结构体里面的成员是GPIO 的寄存器,成员的顺序按照寄存器的偏移地址从低到高排列,成员类型跟寄存器类型一样。
1 typedef struct {
2 __IO uint32_t CRL;
3 __IO uint32_t CRH;
4 __IO uint32_t IDR;
5 __IO uint32_t ODR;
6 __IO uint32_t BSRR;
7 __IO uint32_t BRR;
8 __IO uint32_t LCKR;
9 } GPIO_TypeDef;
CRL : 端口配置低寄存器
CRH: 端口配置高寄存器
IDR: 端口输入数据寄存器
ODR: 端口输出数据寄存器
BSRR: 端口位设置/清除寄存器
BRR: 端口位清除寄存器
LCKR: 端口配置锁定寄存器


学习总结:

以结构体的思想去定义寄存器,想操作寄存器就变成了操作结构体,这就相当于定义了库


  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jory&W

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值