第1章 微型计算机与嵌入式系统概论
1.1 微型计算机概述
1.1.1 微型计算机系统的组成
1.1.2 微处理器的发展
1.2 微型计算机的基本原理
1.2.1 冯·诺依曼体系结构
1.2.2 微机的总线
1.2.3 哈佛体系结构
1.2.4 微处理器的内部结构
1.2.5 I/O接口技术
1.2.6 存储器
1.2.7 程序的执行过程
1.3 嵌入式系统概述
1.4 嵌人式系统架构
1.5 嵌入式系统的典型应用
1.6 典型嵌入式开源硬件和软件系统
1.6.1 开源硬件平台
1.6.2 嵌入式开源操作系统
第2章 Cortex-M3微处理器的体系结构
2.1 ARM微处理器系列介绍
2.2 ARM Cortex-M3体系结构
2.2.1 总体架构
2.2.2 操作模式
2.2.3 寄存器
2.2.4 总线
2.2.5 存储器
2.2.6 中断
2.3 STM32L152RET6微处理器介绍
2.4 STM32L152RET6微处理器的系统结构
2.5 STM32L152RET6微处理器的引脚说明
2.6 STM32L152RET6微处理器的复位和时钟控制
2.7 STM32L152RET6微处理器的存储映射
第3章 Cortex-M3处理器的指令系统
3.1 Cortex-M3处理器的指令系统概述
3.1.1 指令系统基本概念
3.1.2 指令格式
3.1.3 寻址方式
3.1.4 数据传送指令
3.1.5 存储器访问指令
3.1.6 算术运算指令
3.1.7 逻辑运算指令
3.1.8 移位和循环指令
3.1.9 比较指令
3.1.10 分支控制指令
3.1.11 其他指令
3.2 ARM汇编器中的伪指令
3.2.1 Thumb伪指令
3.2.2 符号定义伪指令
3.2.3 数据定义伪指令
3.2.4 汇编控制伪指令
3.2.5 其他常用的伪指令
3.3 汇编语言的程序结构
第4章 开发板硬件系统及开发环境
4.1 最小系统设计
4.2 开发板电路原理图
4.2.1 电源
4.2.2 复位和启动电路
4.2.3 时钟
4.2.4 调试接口
4.2.5 按键
4.2.6 LED灯
4.2.7 显示屏
4.2.8 扩展I/O口
4.3 软件开发环境
4.3.1 嵌入式软件开发流程
4.3.2 程序开发库CMSIS
4.3.3 STM32L52嵌入式程序开发预备知识
第5章 通用输入输出
5.1 GPIO原理
5.1.1 GPIO功能
5.1.2 I/O模式配置
5.2 GPIO寄存器
5.3 GPIO操作函数库
5.4 GPIO实例
5.4.1 GPIO寄存器基本操作
5.4.2 GPIO LED灯控制
5.4.3 GPIO按键输入
第6章 异常和中断处理技术
6.1 中断的基本概念
6.2 中断向量表
6.3 中断的执行过程
6.3.1 中断响应基本流程
6.3.2 中断优化技术
6.3.3 系统异常
6.4 嵌套向量中断控制器NVIC
6.4.1 STM32L152 NVIC
6.4.2 NVIC寄存器
6.4.3 系统异常处理
6.4.4 全局中断管理
6.4.5 NVIC库函数
6.5 外部中断/事件控制器EXTI
6.6 寄存器说明
6.7 EXTI函数库
6.8 中断案例
第7章 定时器
7.1 定时器原理概述
7.2 内部定时器SysTick
7.2.1 SysTick寄存器
7.2.2 SysTick定时器库函数
7.2.3 SysTick定时器应用例程
7.3 外围定时器基本概念
7.4 基本定时器TIM6、TIM7
7.5 通用定时器TIM2~TIM4、TIM9~TIM11
7.5.1 通用定时器时基单元
7.5.2 通用定时器输入捕获和输出比较单元
7.5.3 TIMx的外部触发同步模式
7.6 定时器寄存器
7.7 外围定时器库函数
7.8 定时器应用例程
7.8.1 定时器寄存器操作案例
7.8.2 基本计时中断示例
7.8.3 比较输出示例
7.8.4 输入捕获示例
7.8.5 PWM输出和输入示例
第8章 USART串口控制器
8.1 串行输入输出接口的基本概念
8.2 串行通信协议
8.2.1 异步串行通信协议
8.2.2 同步串行通信协议
8.2.3 串行通信基本概念
8.3 STM32L152 USART内部结构与原理
8.3.1 发送器
8.3.2 接收器
8.3.3 校验控制
8.3.4 硬件流控制
8.3.5 USART中断请求
8.4 USART寄存器
8.5 USART数据传输配置
8.5.1 波特率计算
8.5.2 异步双向通信模式配置
8.6 USART帧传输协议
8.6.1 串行链路帧格式设计
8.6.2 MODBUS帧格式
8.7 USART函数库
8.7.1 寄存器定义
8.7.2 USART库函数
8.8 USART案例
8.8.1 串口寄存器操作案例
8.8.2 串口配置基本流程
8.8.3 PC串口通信案例
8.8.4 状态机多字节数据帧发送和接收案例
第9章 IIC总线
9.1 IIC总线概述
9.2 I2C总线的基本操作
9.3 STM32L152 I2C总线控制器
9.4 I2C寄存器描述
9.5 I2C数据通信流程
9.5.1 I2C从模式通信
9.5.2 I2C主模式通信
9.5.3 总线通信错误
9.5.4 中断请求
9.6 函数库
9.6.1 I2C寄存器结构
9.6.2 I2C库函数
9.7 I2C案例
9.7.1 I2C寄存器操作案例
9.7.2 I2C基本配置
9.7.3 模拟I2C实现
9.7.4 串行Flash通信
9.7.5 ADT742O温度传感器通信
第10章 SPI
10.1 SPI总线概述
10.2 SPI总线控制器架构
10.2.1 接口信号和连接方式
10.2.2 传输模式和时序
10.2.3 STM32L15x SPI总线控制器
10.3 SPI寄存器说明
10.4 SPI通信流程
10.4.1 SPI双工通信模式配置
10.4.2 SPI单工/半双工通信
10.5 函数库
10.5.1 SPI寄存器结构
10.5.2 SPI库函数
10.6 SPI案例
10.6.1 SPI寄存器操作案例
10.6.2 SPI函数库案例
10.6.3 温度传感器ADT732O案例
第11章 模拟/数字转换
11.1 ADC简介
11.2 STM32L152 ADC
11.2.1 STM32L152 ADC功能
11.2.2 温度和电压转换
11.3 ADC寄存器
11.4 ADC寄存器结构及ADC库函数
11.4.1 ADC寄存器结构
11.4.2 ADC库函数
11.5 ADC案例
11.5.1 ADC寄存器操作案例
11.5.2 ADC库函数操作案例
第12章 低功耗技术
12.1 处理器功耗的构成/类型
12.1.1 动态功耗
12.1.2 静态功耗
12.2 STM32L1系列处理器低功耗设计
12.2.1 STM32的电源系统
12.2.2 动态电压调节管理
12.2.3 电源检测
12.2.4 低功耗模式
12.3 功耗控制寄存器
12.4 PWR寄存器结构及库函数
12.4.1 PWR寄存器结构
12.4.2 PWR库函数
12.5 PWR案例
参考文献