码迷,mamicode.com
首页 > 其他好文 > 详细

STM32寄存器

时间:2020-01-20 15:06:27      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:地址   fine   指针   内存   指针类型   span   typedef   color   size   

1. STM32中寄存器实际是线性内存单元上对应的一个地址

2. 如GPIOA->ODR寄存器实际是对内存上某一单元的操作

#define GPIOA_BASE            (APB2PERIPH_BASE + 0x00000800U)
//定义GPIOA的基地址

#define GPIOA               ((GPIO_TypeDef *)GPIOA_BASE)
//此处将GPIOA的基地址转换为GPIO_TypeDef指针类型,相当于在地址值后划分
GPIO_TypeDef大小的内存空间


typedef struct
{
  __IO uint32_t CRL;//相当于在基地址基础上偏移0个字节   0x00000804U
//__IO实际是 volatile ,此处代表在基地址上偏移32位的地址内存,为易变的类型,所以此处取值每次都会访问内存
  __IO uint32_t CRH;//在基地址上偏移4个字节 0x00000808U
  __IO uint32_t IDR;//在基地址基础上偏移8个字节 0x0000080CU
  __IO uint32_t ODR;//在基地址基础上偏移12个字节 
  __IO uint32_t BSRR;//在基地址基础上偏移16个字节
  __IO uint32_t BRR;//在基地址基础上偏移20个字节
  __IO uint32_t LCKR;//在基地址基础上偏移24个字节
} GPIO_TypeDef;

STM32寄存器

标签:地址   fine   指针   内存   指针类型   span   typedef   color   size   

原文地址:https://www.cnblogs.com/cgy601785959/p/12217577.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!