第1篇 硬件篇 3
第1章 实验平台简介 3
1.1 ALIENTEK探索者STM32F4开发板资源初探 3
1.2 ALIENTEK探索者STM32F4开发板资源说明 5
1.2.1 硬件资源说明 5
1.2.2 软件资源说明 11
第2章 实验平台硬件资源详解 13
2.1 开发板原理图详解 13
2.2 开发板使用注意事项 30
2.3 STM32F4学习方法 31
第2篇 软件篇 35
第3章 MDK5软件入门 35
3.1 STM32官方标准固件库简介 35
3.1.1 库开发与寄存器开发的关系 35
3.1.2 STM32固件库与CMSIS标准讲解 36
3.1.3 STM32F4官方库包介绍 37
3.2 MDK5简介 41
3.3 新建基于STM32F40x固件库的MDK5工程模板 42
3.3.1 MDK5安装步骤 42
3.3.2 新建工程模板 42
3.4 程序下载与调试 59
3.4.1 STM32串口程序下载 59
3.4.2 JLINK下载与调试程序 64
第4章 STM32F4开发基础知识入门 71
4.1 MDK下C语言基础复习 71
4.2 STM32F4总线架构 76
4.3 STM32F4时钟系统 77
4.3.1 STM32F4时钟树概述 77
4.3.2 STM32F4时钟初始化配置 81
4.3.3 STM32F4时钟使能和配置 84
4.4 I/O引脚复用器和映射 86
4.5 STM32 NVIC中断优先级管理 90
4.6 MDK中寄存器地址名称映射分析 94
4.7 MDK固件库快速组织代码技巧 96
第5章 SYSTEM文件夹介绍 102
5.1 delay文件夹代码介绍 102
5.2 sys文件夹代码介绍 107
5.3 usart文件夹介绍 109
5.3.1 printf函数支持 109
5.3.2 uart_init函数 110
5.3.3 USART1_IRQHandler函数 112
第3篇 实战篇 117
第6章 跑马灯实验 117
第7章 按键输入实验 132
第8章 串口通信实验 136
第9章 外部中断实验 145
第10章 独立看门狗(IWDG)实验 152
第11章 窗口看门狗(WWDG)实验 157
第12章 定时器中断实验 162
第13章 PWM输出实验 170
第14章 输入捕获实验 176
第15章 TFTLCD显示实验 186
第16章 USMART调试组件实验 213
第17章 RTC实时时钟实验 223
第18章 待机唤醒实验 240
第19章 ADC实验 248
第20章 DAC实验 260
第21章 DMA实验 269
第22章 I2C实验 282
第23章 SPI实验 289
第24章 RS485实验 299
第25章 CAN通信实验 306
第26章 触摸屏实验 331
第27章 6轴传感器MPU6050实验 349
第28章 FLASH模拟EEPROM实验 367
第29章 摄像头实验 379
第30章 外部SRAM实验 402
第31章 内存管理实验 409
第32章 SD卡实验 418
第33章 FATFS实验 439
第34章 汉字显示实验 450
第35章 图片显示实验 464
第36章 音乐播放器实验 474
第37章 FPU测试(Julia分形)实验 500
第38章 DSP测试实验 507
第39章 串口IAP实验 520
第40章 USB读卡器(Slave)实验 532
第41章 USB U盘(Host)实验 542
第42章 USB鼠标、键盘(Host)实验 550
第43章 网络通信实验 558
第44章 μC/OS-II实验1——任务调度 572
第45章 μC/OS-II实验2——信号量和邮箱 582
第46章 μC/OS-II实验3——消息队列、信号量集和软件定时器 591
参考文献 607