第1章 STM32基本原理 1
1.1 STM32性能和结构 1
1.1.1总体性能 1
1.1.2系统结构分析 2
1.1.3芯片封装和引脚概述 4
1.2 Cortex-M3处理器 5
1.2.1 Cortex-M3的定位和应用 5
1.2.2 Cortex-M3处理器结构 6
1.2.3 Cortex-M3寄存器 7
1.2.4堆栈 10
1.3 STM32储存地址映射 11
1.4引脚功能描述 15
1.5电源连接 16
1.6复位和时钟控制(RCC) 17
1.6.1复位 17
1.6.2时钟源 17
1.6.3时钟管理寄存器 20
1.7输入/输出端口 20
1.7.1常规输入/输出GPIO 20
1.7.2 GPIO复用 21
1.8模-数转换器和数-模转换器 22
1.8.1模-数转换器 22
1.8.2数-模转换器 23
1.9中断 24
1.9.1 STM32的中断通道和中断向量处理 25
1.9.2 STM32的外部中断 28
1.9.3 STM32的中断优先级分组 28
1.10 DMA 30
1.10.1 DMA解析 30
1.10.2 DMA通道和请求 31
1.11定时器 34
1.11.1系统滴答定时器(SysTick) 34
1.11.2 STM32常规定时器 39
1.12同步串行口SPI和I2C 40
1.12.1 SPI 40
1.12.2 I2C 43
1.13同步异步收发器 45
1.14灵活的FSMC 46
1.14.1 FSMC概述 46
1.14.2 FSMC控制液晶控制器 48
习题1 48
第2章 硬件设计 50
2.1 STM32主板设计 50
2.1.1 MCU及其周围电路设计 50
2.1.2 USB转串口电路设计 51
2.1.3 TTL转RS232电路设计 52
2.1.4网络端口电路 53
2.1.5 SPI FLASH端口电路 54
2.1.6 I2C端口电路 54
2.1.7 TF卡端口电路 55
2.1.8按键、LED显示电路和其他端口 55
2.2液晶屏与触摸屏控制板设计 56
2.2.1带触摸TFT液晶屏 56
2.2.2 TFT LCD屏的时序 58
2.2.3触摸屏 58
2.2.4 TFT LCD的背光LED 59
2.2.5 TFT LCD控制器RA8875 60
2.2.6 TF T液晶控制板具体设计 65
习题2 71
第3章 STM32软件开发 72
3.1 STM32软件开发环境 72
3.1.1 MDK Keil开发环境 73
3.1.2串口编程软件ISP 74
3.1.3 JLINK 76
3.2使用固件库开发我的第一个工程 81
3.2.1获得和理解固件库 81
3.2.2我的第一个工程 83
3.3操作GPIO和管理中断 99
3.3.1 GPIO寄存器 99
3.3.2 GPIO库函数 102
3.3.3嵌套向量中断控制器NVIC库函数 107
3.3.4外部中断/事件管理库函数 108
3.3.5带按键控制的流水灯实验 109
3.4串口通信和DMA编程 115
3.4.1串行异步通信USART库函数 115
3.4.2一个串口发送和中断接收例程的实现 116
3.4.3 DMA库函数 118
3.4.4使用DMA和双缓冲乒乓操作实现串口接收、发送 119
3.5 SPI与I2C编程 125
3.5.1 SPI库函数 125
3.5.2 SPI FLASH原理 126
3.5.3 SPI FLASH编程实验 130
3.5.4 TF卡编程 135
3.5.5 I2C编程及实例 145
3.6液晶屏及触摸屏编程 152
3.6.1 FSMC端口配置和简单图形显示 152
3.6.2触摸屏编程 161
3.6.3汉字输出 163
3.6.4图片显示和操作 173
3.7定时器编程 185
3.7.1 SysTick编程实验 185
3.7.2定时器库函数 187
3.7.3定时器编程实验 189
3.8 DAC和ADC编程 192
3.8.1 DAC库函数 192
3.8.2 DAC编程 193
3.8.3 ADC库函数 195
3.8.4 DMA方式ADC采集实验 197
3.9网络编程 201
3.9.1网络端口芯片ENC28J60驱动 201
3.9.2 uIP编程 207
3.9.3使用uIP实现Ping响应 210
3.9.4 AD采集和网络UDP传输 214
3.9.5 TCP接收和发送实验 219
习题3 220
第4章 工程项目实例 222
4.1需求分析 222
4.1.1需求 222
4.1.2分析 222
4.2工程设计 223
4.2.1整体设计 223
4.2.2从机硬件端口设计 223
4.2.3从机软件设计 225
4.3软件开发 225
4.3.1宏和变量定义 225
4.3.2主程序编程 226
设计题 228
附录 229
附录A 亮点STM32开发板资源 229
附录B 实验教学安排 237
参考文献 239