没有合适的资源?快使用搜索试试~ 我知道了~
《嵌入式系统原理与实验》(实验)1
需积分: 0 1 下载量 65 浏览量
2022-08-04
14:46:37
上传
评论
收藏 3.09MB PDF 举报
温馨提示
试读
102页
第一章通用输入/输出接口 11.1GPIO 模块基本特性 11.2GPIO 寄存器映射 11.3GPIO 初始化和配置 31.4板上 GPIO 资源及特性 41
资源详情
资源评论
资源推荐
嵌入式系统原理与实验
Cortex M3 实验教程(上)
上海交通大学 嵌入式系统原理与实验课程组
2012. 3
I
目 录
第一章 通用输入/输出接口 ....................................................................... 1
1.1 GPIO 模块基本特性 .............................................................................. 1
1.2 GPIO 寄存器映射 .................................................................................. 1
1.3 GPIO 初始化和配置 .............................................................................. 3
1.4 板上 GPIO 资源及特性 ......................................................................... 4
1.5 Stellaris 库函数 ...................................................................................... 6
1.6 实验一 GPIO 操作编程 ...................................................................... 9
1.7 思考与练习题 ...................................................................................... 16
第二章 系统控制单元:时钟控制模块 ........................................................ 17
2.1 概述 ...................................................................................................... 17
2.2 功率控制 .............................................................................................. 17
2.3 时钟控制 .............................................................................................. 17
2.4 Stellaris 库函数 .................................................................................... 19
2.5 自编封装函数介绍 .............................................................................. 22
2.6 实验二 时钟控制编程 ...................................................................... 22
2.7 思考与练习题 ...................................................................................... 29
第三章 SysTick 及通用定时器模块 ............................................................. 30
3.1 概述 ...................................................................................................... 30
3.2 系统定时器(SysTick) ..................................................................... 30
3.3 Timer 模块 ........................................................................................... 31
3.4 Stellaris 库函数 .................................................................................... 32
3.5 实验三 SysTick 及 Timer 编程 ........................................................ 35
3.6 思考与练习题 ...................................................................................... 41
第四章 中 断 .............................................................................................. 42
4.1 中断基本概念 ...................................................................................... 42
4.2 Cortex-M3 内核异常与 NVIC ............................................................ 43
4.3 外部中断/事件控制器 ......................................................................... 45
4.4 Stellaris 中断基本编程方法 ................................................................ 46
4.5 实验四 中断编程 .............................................................................. 50
4.6 思考与练习题 ...................................................................................... 57
第五章 看门狗定时器 .................................................................................. 58
5.1 看门狗(Watchdog)简介 ....................................................................... 58
5.2 WatchDog 功能概述 ............................................................................ 58
5.3 Stellaris 库函数 .................................................................................... 59
5.4 实验五 Watchdog Timer 编程 .......................................................... 61
5.5 思考与练习题 ...................................................................................... 67
第六章 通用异步收发传输器 ....................................................................... 68
6.1 UART 简介 .......................................................................................... 68
6.2 UART 功能概述 .................................................................................. 68
6.3 Stellaris 函数库 ................................................................................... 72
II
6.4 实验六 UART ................................................................................... 76
6.5 思考与练习题 ...................................................................................... 84
附录 A Keil 建立工程文件步骤 .................................................................. 85
附录 B S700 实验板硬件电路使用说明 ....................................................... 95
1
第一章 通用输入/输出接口
1.1 GPIO 模块基本特性
Stellaris LM3S9B96微控制器的通用输入/输入端口(General-Purpose Input
Outputs,简称为GPIOs)模块由9 个物理GPIO 模块组成,每一个物理GPIO 模
块对应一个端口(Port A~J)。GPIO 模块支持高达65 个可编程的输入/输出引
脚,具体取决于正在使用的外设。GPIO 模块基本特性包括:
所有的GPIO 引脚都可以用作GPIO 或是一种或多种的外设功能,当
配置为输入模式可承受5V 电压,配置为数字输入的引脚均为施密特触发。
通过编程,可使GPIO端口具备中断功能:屏蔽中断发生;中断触发
方式可配置为上升沿、下降沿、双边沿、(高或低)电平触发。
读写操作时可通过地址线进行位屏蔽的操作。
通过编程可控制的GPIO 引脚配置方式:弱上拉或下拉电阻、2mA,
4mA 或8mA 驱动电流,对于需要大电流的应用最多可以有四个引脚可以配
置为18mA;8mA 驱动的斜率控制;开漏使能、数字输入使能。
1.2 GPIO 寄存器映射
为了利用GPIO端口达到所需的功能,首先应对GPIO端口进行配置(编程)。
配置方法就是对与某一GPIO端口相关的寄存器进行读写编程。可以通过两种
方法来访问GPIO模块,一种称为先进外设总线(APB),向后兼容以前的
Stellaris®产品,这是一种较陈旧的方法。另外一种是先进高端总线(AHB),
它和APB一样拥有相同的寄存器映射,但是提供了比APB更好的访问性能。
但是这两种访问方式只能选择一种使用。可以通过GPIOHBCTL寄存器来确定
使用哪种方式访问。
与GPIO端口对应的基本地址如下:
表1.1
GPIO 端口
基本地址(APB)
基本地址(AHB)
A
0x4000.4000
0x4005.8000
B
0x4000.5000
0x4005.9000
C
0x4000.6000
0x4005.A000
D
0x4000.7000
0x4005.B000
E
0x4002.4000
0x4005.C000
F
0x4002.5000
0x4005.D000
G
0x4002.6000
0x4005.E000
H
0x4002.7000
0x4005.F000
J
0x4003.D000
0x4006.0000
与GPIO端口相关的寄存器的地址、名称、读写类型、复位值及其含义如
表1.2所示。这里寄存器的地址是通过对基本地址的偏移量给出的。例如,端
口A的GPIODIR寄存器的地址为0x4000.4400(APB访问方式)或0x4005.8400
2
(AHB访问方式)。
表1.2
偏移量
名称
读写类型
复位值
功能
0x000
GPIODATA
R/W
0x0000.0000
GPIO数据
0x400
GPIODIR
R/W
0x0000.0000
GPIO方向
0x404
GPIOIS
R/W
0x0000.0000
GPIO 中断检测
0x408
GPIOIBE
R/W
0x0000.0000
GPIO 中断双边沿检测
0x40C
GPIOIEV
R/W
0x0000.0000
GPIO 中断事件
0x410
GPIOIM
R/W
0x0000.0000
GPIO 中断屏蔽
0x414
GPIORIS
RO
0x0000.0000
GPIO 原始中断状态
0x418
GPIOMIS
RO
0x0000.0000
GPIO 屏蔽后的中断状态
0x41C
GPIOICR
W1C
0x0000.0000
GPIO 中断清除
0x420
GPIOAFSEL
R/W
-
GPIO 备用功能选择
0x500
GPIODR2R
R/W
0x0000.00FF
GPIO 2mA 驱动选择
0x504
GPIODR4R
R/W
0x0000.0000
GPIO 4mA 驱动选择
0x508
GPIODR8R
R/W
0x0000.0000
GPIO 8mA 驱动选择
0x50C
GPIOODR
R/W
0x0000.0000
GPIO 开漏选择
0x510
GPIOPUR
R/W
-
GPIO 上拉选择
0x514
GPIOPDR
R/W
0x0000.0000
GPIO 下拉选择
0x518
GPIOSLR
R/W
0x0000.0000
GPIO 斜率控制选择
0x51C
GPIODEN
R/W
-
GPIO 数字使能
0x520
GPIOLOCK
R/W
0x0000.0001
GPIO 锁定
0x524
GPIOCR
-
-
GPIO 确认
0x528
GPIOAMSEL
R/W
0x0000.0000
GPIO 模拟模块选择
0x52C
GPIOPCTL
R/W
-
GPIOGPIO 端口控制
0xFD0
GPIOPeriphID4
RO
0x0000.0000
GPIO 外设标识 4
0xFD4
GPIOPeriphID5
RO
0x0000.0000
GPIO 外设标识 5
0xFD8
GPIOPeriphID6
RO
0x0000.0000
GPIO 外设标识 6
0xFDC
GPIOPeriphID7
RO
0x0000.0000
GPIO 外设标识 7
0xFE0
GPIOPeriphID0
RO
0x0000.0061
GPIO 外设标识 0
0xFE4
GPIOPeriphID1
RO
0x0000.0000
GPIO 外设标识 1
0xFE8
GPIOPeriphID2
RO
0x0000.0018
GPIO 外设标识 2
0xFEC
GPIOPeriphID3
RO
0x0000.0001
GPIO 外设标识 3
0xFF0
GPIOPCellID0
RO
0x0000.000D
GPIO PrimeCell 标识 0
0xFF4
GPIOPCellID1
RO
0x0000.00F0
GPIO PrimeCell 标识 1
0xFF8
GPIOPCellID2
RO
0x0000.0005
GPIO PrimeCell 标识 2
0xFFC
GPIOPCellID3
RO
0x0000.00B1
GPIO PrimeCell 标识 3
注:R/W表示软件可以读或写此域;RO表示软件可以读取此域,写入此域无效;
W1C表示软件可以写此域,向W1C位写入0不影响寄存器中的位值,写入1 清零寄
存器中位的值,剩余的位保持变,读寄存器返回的数据没有意义。
注意:GPIODATA寄存器是数据寄存器,在软件控制模式时,在通过将方
向寄存器设置为输出的情况下,写入GPIODATA 寄存器的数据将会传送到
GPIO 的引脚上。为了对GPIODATA 寄存器执行写操作,由地址总线位[9:2]
剩余101页未读,继续阅读
焦虑肇事者
- 粉丝: 58
- 资源: 310
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- anaconda安装Web-ma笔记
- 酷狗top500数据分析完整
- 天气数据爬虫以及可视化分析
- unity shadergraph 特效案例del-for-network-ids-mas开发笔记
- 用户空间操作I2C适配器从而与I2C设备通信
- 2_base.apk.1.1
- 32位alu设计实验logisim-ma开发笔记
- Tangram-ES 0.17.1 64位 Debug/Release版 基于OpenGL地图渲染引擎
- 2018 各系统CNC 数据采集方法-5718b19bb868a98271fe910ef12d2af90342a827.pdf
- 【知识付费小程序源码】可开激励广告流量主+虚拟资源变现+搭建教程.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0