第1章 开发工具使用入门 1
1.1 下载与安装所需的软件 1
1.2 第一个基于CCS6的hello world工程 2
1.2.1 导入已存在的工程 2
1.2.2 创建一个新工程 6
1.2.3 LM闪存编程器 9
1.3 Keil for ARM入门基础 12
1.3.1 导入一个hello工程 12
1.3.2 创建一个hello工程 15
1.4 IAR Embedded Workbench for ARM入门基础 19
1.4.1 打开一个现有工程 19
1.4.2 创建一个新工程 21
第2章 EK-TM4C123GXL及Proteus简介 26
2.1 EK-TM4C123GXL简介 26
2.1.1 TM4C123GXL的特点 26
2.1.2 评估板模块框图 27
2.2 Proteus 8.1简介 28
2.2.1 新增功能 28
2.2.2 Proteus 8.1界面简介 28
2.2.3 如何寻找Proteus中的元器件 29
2.2.4 虚拟仪器的使用 30
2.2.5 基于Proteus 8.1的M3编程与测试 33
2.2.6 基于Proteus 8.1的M3代码测试 38
第3章 通用异步收发器模块(UART) 41
3.1 UART模块 41
3.1.1 UART的特点 41
3.1.2 UART的结构框图 42
3.1.3 信号描述 42
3.1.4 UART模块功能的简要介绍 44
3.2 UART固件库函数 49
3.2.1 UART固件库结构 49
3.2.2 UART的基本操作 50
3.3 例程 50
第4章 模数转换器(ADC) 57
4.1 ADC模块 57
4.1.1 ADC特点 57
4.1.2 ADC模块框图 58
4.1.3 信号描述 60
4.1.4 功能简介 60
4.2 ADC固件库函数 66
4.3 例程 66
第5章 通用输入/输出(GPIO) 79
5.1 GPIO模块 79
5.1.1 GPIO特点 79
5.1.2 GPIO模块框图 80
5.1.3 功能简介 80
5.1.4 寄存器映射及寄存器描述 82
5.2 GPIO固件库函数 87
5.3 例程 88
第6章 模拟比较器(COMP) 99
6.1 COMP单元 99
6.1.1 COMP特点 99
6.1.2 COMP模块框图 99
6.1.3 信号描述 99
6.1.4 功能简介 100
6.1.5 寄存器映射 102
6.2 COMP固件库函数 102
6.3 例程 103
第7章 系统定时与中断控制 113
7.1 NVIC模块 114
7.1.1 NVIC模块的特点 114
7.1.2 功能描述 115
7.1.3 中断优先级 116
7.1.4 中断异常 116
7.1.5 寄存器映射 116
7.2 SysTick与NVIC固件库函数 118
7.2.1 SysTick固件库 118
7.2.2 NVIC固件库 119
7.3 例程 119
第8章 内部集成电路接口(I2C) 136
8.1 I2C单元 136
8.1.1 I2C特点 136
8.1.2 I2C模块框图 137
8.1.3 信号描述 137
8.1.4 功能描述 138
8.2 I2C固件库函数 141
8.2.1 主机操作 141
8.2.2 从机操作 142
8.2.3 I2C固件库描述 143
8.3 例程 143
8.3.1 主从回环例程 143
8.3.2 基于I2C的EEPROM读写例程 151
第9章 同步串行接口(SSI) 162
9.1 SSI单元 162
9.1.1 SSI的特点 162
9.1.2 模块框图 163
9.1.3 信号描述 164
9.1.4 功能简介 164
9.1.5 寄存器映射 171
9.2 SSI固件库函数 172
9.3 例程 173
第10章 内部存储器 183
10.1 内部存储器单元 183
10.1.1 模块框图与控制逻辑 183
10.1.2 功能简介 183
10.2 闪存固件库函数 190
10.3 使用ROM 191
10.3.1 直接ROM调用 191
10.3.2 映射ROM调用 192
10.3.3 ROM固件更新 193
10.4 EEPROM固件库函数 194
10.5 例程 195
10.5.1 写闪存例程 195
10.5.2 读写EEPROM例程 198
第11章 通用定时器(GPTM) 203
11.1 通用定时器单元 203
11.1.1 主要特点 203
11.1.2 GPTM模块框图 204
11.1.3 信号描述 205
11.1.4 功能简介 205
11.2 GPTM固件库函数 213
11.3 例程 213
第12章 脉冲宽度调制(PWM) 224
12.1 PWM单元 224
12.1.1 PWM的主要特点 224
12.1.2 PWM的模块框图 225
12.1.3 信号描述 225
12.1.4 功能简介 225
12.2 PWM固件库函数 231
12.3 例程 231
第13章 微直接存储器访问(μDMA) 238
13.1 μDMA单元 238
13.1.1 DMA的特点 238
13.1.2 μDMA模块框图 239
13.1.3 功能简介 239
13.2 μDMA固件库函数 247
13.3 例程 247
第14章 通用串行总线控制器(USB) 259
14.1 USB简介 259
14.2 TM4C123GH6PM USB控制器 266
14.2.1 USB的特点 266
14.2.2 USB模块框图 267
14.2.3 USB信号描述 267
14.2.4 USB功能描述 268
14.3 USB固件库函数 273
14.3.1 USB的分层框架结构 273
14.3.2 Driverlib库函数介绍 275
14.3.3 USBlib库函数介绍 279
14.4 例程 283
第15章 FatFS文件读取实验 300
15.1 SD卡概述 300
15.1.1 SD卡的内部结构及信号描述 300
15.1.2 SD卡的命令 302
15.1.3 SD卡的功能描述 304
15.1.4 SD卡驱动程序解读 308
15.2 SD卡FatFS文件读取实验 320
15.2.1 FatFS文件系统简介 320
15.2.2 实验硬件连接图 321
15.2.3 导入sd_card工程 322
第16章 基本图形库(Grlib) 335
16.1 图形库与液晶屏概述 335
16.1.1 图形库概述 335
16.1.2 液晶屏简介 336
16.2 TivaWare图形库简介 346
16.2.1 图形库的特点 346
16.2.2 图形库源代码 347
16.2.3 图形固件库函数 348
16.2.4 实用工具(Utilities) 365
16.2.5 预定义的颜色参考 367
16.3 例程 368
附录 373
附录A 第3章附录:UART固件库函数简介 373
附录B 第4章附录:ADC固件库函数简介 385
附录C 第5章附录:GPIO固件库函数简介 397
附录D 第6章附录:模拟比较器固件库函数简介 409
附录E 第7章附录:SysTick与NVIC固件库函数简介 412
E.1 SysTick固件库函数 412
E.2 NVIC固件库函数 413
附录F 第8章附录:I2C固件库函数简介 417
附录G 第9章附录:SSI固件库函数简介 429
附录H 第10章附录:内部存储器的固件库函数简介 435
H.1 闪存(Flash)固件库函数 435
H.2 闪存保护单元(MPU)固件库函数 438
H.3 EEPROM固件库函数 441
附录I 第11章附录:GPTM固件库函数简介 448
附录J 第12章附录:PWM固件库函数简介 458
附录K 第13章附录:μDMA固件库函数简介 473
附录L 第14章附录:USB DriverLib固件库函数简介 481
参考文献 503