6 存储器与寄存器介绍_第1页
6 存储器与寄存器介绍_第2页
6 存储器与寄存器介绍_第3页
6 存储器与寄存器介绍_第4页
6 存储器与寄存器介绍_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、普中STM32开发板带您进入ARM世界,存储器与寄存器介绍,普中STM32开发板带您进入ARM世界,本讲主要内容 1.什么是存储器映射 2.什么是寄存器及寄存器映射 3.如何访问STM32寄存器内容,普中STM32开发板带您进入ARM世界,1.什么是存储器映射 存储器本身不具有地址信息,它的地址是由芯片厂商或 用户分配,给存储器分配地址的过程称为存储器映射,如果 再分配一个地址就叫重映射(具体地址分配参考芯片数据手 册及中文参考手册),普中STM32开发板带您进入ARM世界,普中STM32开发板带您进入ARM世界,普中STM32开发板带您进入ARM世界,2.什么是寄存器及寄存器映射 通过给有特

2、定功能的内存单元起一个别名,这个别名就是 我们所说的寄存器。给已经分配好地址的有特定功能的内存 单元起别名的过程就叫寄存器映射,普中STM32开发板带您进入ARM世界,3.如何访问STM32寄存器内容 我们知道寄存器就是一些有特定功能的内存单元,所以要 访问STM32寄存器也就是操作STM32的内存单元,根据C语言 指针的特点,可以使用指针来操作STM32的内存单元。 假如我们要让STM32的GPIOC的第0管脚输出低电平,我 们怎么使用C语言来处理? 首先我们要知道GPIOC挂接在哪个总线上,需要知道其地 址,STM32总线地址如下:,普中STM32开发板带您进入ARM世界,所以使用C语言宏

3、可以定义外设基地址: #define PERIPH_BASE (unsigned int)0 x40000000) 然后分别定义APB2总线基地址: #define APB2PERIPH_BASE (PERIPH_BASE + 0 x00010000) 然后还需要知道端口外设地址, 同样使用C语言宏定义其端口地址: #define GPIOC_BASE (APB2PERIPH_BASE + 0 x1000),普中STM32开发板带您进入ARM世界,有了外设端口地址后,还需要知道GPIOC端口的寄存器地址, 如下表格:,普中STM32开发板带您进入ARM世界,同样使用C语言宏定义其端口寄存器地址

4、: #define GPIOC_CRL *(unsigned int*)(GPIOC_BASE+0 x00) #define GPIOC_CRH *(unsigned int*)(GPIOC_BASE+0 x04) #define GPIOC_IDR *(unsigned int*)(GPIOC_BASE+0 x08) #define GPIOC_ODR *(unsigned int*)(GPIOC_BASE+0 x0C) #define GPIOC_BSRR *(unsigned int*)(GPIOC_BASE+0 x10) #define GPIOC_BRR *(unsigned int

5、*)(GPIOC_BASE+0 x14) #define GPIOC_LCKR *(unsigned int*)(GPIOC_BASE+0 x18),普中STM32开发板带您进入ARM世界,这些寄存器具体的功能可以参考STM32F1中文参考手册。,普中STM32开发板带您进入ARM世界,控制 GPIOC 引脚 0 输出低电平(即通过BSRR 寄存器的 BR0 置 1) GPIOC_BSRR = (0 x01(16+0); 控制 GPIOC 引脚 0 输出高电平(即通过BSRR 寄存器的 BS0 置 1) GPIOC_BSRR = 0 x010; 读取GPIOC端口所有引脚的电平(读 IDR 寄存器) unsigned int temp; temp = GPIOC_IDR;,普中STM32开发板带您进入ARM世界,我们这里仅仅以GPIO这个外设为例,给大家讲解了如何 使用C语言对寄存器封装的,对于其他的外设也是使用同样 方法。其实到了后面的实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论