内容简介
第1章 概述
1.1 计算机发展史
1.1.1 计算机的诞生
1.1.2 计算机的发展
1.2 计算机的体系结构
1.2.1 冯·诺依曼架构模型
1.2.2 面向嵌入式应用的架构改进
1.3 单片机发展史
1.3.1 计算机及早期单片机
1.3.2 单片机的发展趋势——走向集成、嵌入式
1.4 ARM、Cortex和STM32简介
1.4.1 ARM系列内核
1.4.2 Cortex系列内核
1.4.3 STM32F103系列微控制器
1.5 计算机发展的趋势和工程设计开发
1.5.1 计算机发展的趋势
1.5.2 嵌入式系统的工程设计和开发
1.6 小结
习题
第2章 Cortex-M3处理器
2.1 Cortex-M3内核
2.1.1 内核体系结构
2.1.2 系统总线结构
2.2 寄存器
2.2.1 通用寄存器
2.2.2 特殊功能寄存器
2.3 存储器管理
2.3.1 寄存器空间分配
2.3.2 位带操作
2.3.3 互斥访问
2.3.4 端模式
2.3.5 存储保护单元
2.3.6 存储器访问属性
2.3.7 存储器的默认访问许可
2.4 工作模式
2.5 异常与中断
2.5.1 中断号与优先级
2.5.2 向量表
2.5.3 中断输入及挂起
2.5.4 Fault类异常
2.5.5 中断的具体行为
2.5.6 中断嵌套控制
2.5.7 高级中断操作
2.5.8 异常返回值
2.6 堆栈
2.6.1 堆栈的基本操作
2.6.2 Cortex-M3堆栈操作
2.6.3 Cortex-M3的双堆栈机制
2.7 小结
习题
第3章 STM32最小系统的设计
3.1 STM32F103最小系统的设计方案
3.2 最小系统设计的要素
3.2.1 STM32晶体振荡器
3.2.2 复位电路
3.2.3 LED、Key及BOOT跳线
3.2.4 稳压电源及ISP下载口
3.2.5 I/O端口
3.3 PCB图设计
3.4 小结
第4章 MDK-ARM软件入门
4.1 MDK-ARM 4.7 0简介
4.2 新建MDK工程
4.2.1 下载外设库
4.2.2 建立新工程
4.2.3 工程编译环境设置
4.3 RVMDK使用技巧
4.3.1 文本美化
4.3.2 代码编辑技巧
4.3.3 其他小技巧
4.4 调试与下载
4.4.1 STM32软件仿真
4.4.2 STM32程序下载
4.5 固件函数库函数命名规则
4.6 小结
习题
第5章 GPIO及外部中断的使用
5.1 综述
5.1.1 通用I/O
5.1.2 单独的位设置或位清除
5.1.3 外部中断/唤醒线
5.1.4 复用功能
5.1.5 软件重新映射I/O复用功能
5.1.6 GPIO锁定机制
5.1.7 输入配置
5.1.8 输出配置
5.1.9 复用功能配置
5.1.1 0模拟输入配置
5.2 库函数
5.2.1 函数GPIO_Init
5.2.2 函数GPIO_SetBits
5.2.3 函数GPIO_ResetBits
5.2.4 函数GPIO_WriteBit
5.2.5 函数GPIO_Write
5.2.6 函数GPIO_ReadOutputDataBit
5.2.7 函数GPIO_ReadOutputData
5.2.8 函数GPIO_ReadInputDataBit
5.2.9 函数GPIO_ReadInputData
5.3 I/O端口的外设映射
5.3.1 将OSC_32 IN/OSC_32 OUT作为PC14/PC15端口
5.3.2 将OSC_IN/OSC_OUT作为PD0/PD1端口
5.3.3 CAN复用功能重映射
5.3.4 JTAG/SWD复用功能重映射
5.3.5 ADC复用功能重映射
5.3.6 定时器复用功能重映射
5.3.7 USART复用功能重映射
5.3.8 I2C1复用功能重映射
5.3.9 SPI1复用功能重映射
5.4 位运算
5.4.1 移位运算
5.4.2 按位与运算
5.4.3 按位或运算
5.4.4 取反运算
5.4.5 异或运算
5.5 GPIO控制实例
5.5.1 实例1——控制LED闪烁
5.5.2 实例2——跑马灯
5.5.3 实例3——按键输入1
5.6 外部中断和中断控制器
5.6.1 嵌套向量中断控制器
5.6.2 外部中断/事件控制器
5.6.3 NVIC库函数介绍
5.6.4 外部中断控制器库函数介绍
5.6.5 外部中断实例——按键输入2
5.7 小结
习题
第6章 定时器的使用
6.1 STM32F的定时器简介
6.1.1 高级控制定时器TIM1的TIM8
6.1.2 通用定时器TIMx
6.1.3 基本定时器TIM6和TIM7
6.2 通用定时器功能描述
6.2.1 时基单元
6.2.2 计数器模式
6.2.3 时钟选择
6.2.4 捕获/比较通道
6.2.5 输入捕获模式
6.2.6 PWM输入模式
6.2.7 强置输出模式
6.2.8 输出比较模式
6.2.9 PWM模式
6.2.1 0定时器和外部触发的同步
6.2.1 1定时器同步
6.3 定时器固件库函数介绍
6.3.1 函数TIM_DeInit
6.3.2 函数TIM_TimeBaseInit
6.3.3 函数TIM_OC1Init
6.3.4 函数TIM_OC2Init
6.3.5 函数TIM_OC3Init
6.3.6 函数TIM_OC4Init
6.3.7 函数TIM_ICInit
6.3.8 函数TIM_BDTRConfig
6.3.9 函数TIM_Cmd
6.3.1 0函数TIM_CtrIPWMOutputs
6.3.1 1 函数TIM_ITConfig
6.3.1 2函数TIM_SelectInputTrigger
6.3.1 3函数TIM_EncoderInterfaceConfig
6.3.1 4函数TIM_ARRPreloadConfig
6.3.1 5函数TIM_CCPreloadControl
6.3.1 6函数TIM_OC1PreloadConfig
6.3.1 7函数TIM_OC2PreloadConfig
6.3.1 8 函数TIM_OC3PreloadConfig
6.3.1 9函数TIM_OC4PreloadConfig
6.3.2 0函数TIM_SelectOutputTrigger
6.3.2 1 函数TIM_SelectSlaveMode
6.3.2 2 函数TIM_SelectMasterSlaveMode
6.3.2 3 函数TIM_SetCounter
6.3.2 4函数TIM_SetAutoreload
6.3.2 5 函数TIM_GetCounter
6.3.2 6函数TIM_GetPrescaler
6.3.2 7 函数TIM_GetFlagStatus
6.3.2 8函数TIM_ClearFlag
6.3.2 9函数TIM_GetITStatus
6.3.3 0 函数TIM_ClearITPendingBit
6.4 定时器实训
6.4.1 定时器控制跑马灯
6.4.2 PWM电动机控制
6.5 小结
习题
第7章 STM32的A/D转换模块
7.1 ADC的主要技术指标及选型
7.1.1 ADC的主要技术指标分析
7.1.2 ADC的选型技巧及注意事项
7.2 STM32的ADC
7.2.1 ADC功能描述
7.2.2 ADC寄存器描述
7.2.3 ADC中断
7.3 STM32内部温度传感器
7.3.1 硬件设计
7.3.2 软件设计
7.4 STM32的ADC实验
7.4.1 硬件设计
7.4.2 软件设计
7.5 小结
习题
第8章 STM32显示模块操作
8.1 OLED显示
8.1.1 OLED的驱动方式
8.1.2 硬件设计
8.1.3 软件设计
8.2 TFT LCD显示
8.2.1 TFT LCD的特点
8.2.2 硬件设计
8.2.3 软件设计
8.3 图片显示实例
8.3.1 图片显示原理简介
8.3.2 硬件设计
8.3.3 软件设计
8.4 汉字显示实例
8.4.1 汉字显示原理简介
8.4.2 硬件设计
8.4.3 软件设计
8.5 小结
习题
第9章 STM32外设接口模块
9.1 USART模块
9.1.1 USART功能描述
9.1.2 USART寄存器简介
9.1.3 USART操作实例
9.2 SPI模块
9.2.1 SPI简介
9.2.2 SPI功能描述
9.2.3 SPI配置简介
9.2.4 SPI操作实例
9.3 I2C模块
9.3.1 I2C简介
9.3.2 I2C功能描述
9.3.3 I2C配置简介
9.3.4 I2C操作实例
9.4 CAN总线模块
9.4.1 CAN简介
9.4.2 CAN功能描述
9.4.3 CAN配置简介
9.4.4 CAN操作实例
9.5 USB模块
9.5.1 USB简介
9.5.2 USB功能描述
9.5.3 USB配置简介
9.5.4 USB操作实例
9.6 小结
习题
第10章 STM32综合实验
10.1 STM32开发板
10.1.1 STM32开发板资源介绍
10.1.2 STM32开发板硬件设计
10.2 追光系统
10.2.1 追光系统设计要求
10.2.2 追光系统软硬件设计
10.2.3 追光系统实现
10.3 倒立摆
10.3.1 倒立摆设计要求
10.3.2 倒立摆软硬件设计
10.3.3 倒立摆的实现
10.4 储能式光电寻迹车
10.4.1 储能式光电寻迹车设计要求
10.4.2 储能式光电寻迹车软硬件设计
10.4.3 储能式光电寻迹车的实现
10.5 MP3播放器
10.5.1 MP3播放器设计要求
10.5.2 MP3播放器软硬件设计
10.5.3 MP3播放器的实现
10.6 基于GPRS的电热水器控制系统
10.6.1 基于GPRS的电热水器控制系统设计要求
10.6.2 基于GPRS的电热水器控制系统软硬件设计
10.6.3 基于GPRS的电热水器控制系统实现
10.7 小结
习题
参考文献