第1篇 硬件篇 2
第1章 实验平台简介 2
1.1 ALIENTEK战舰STM32F103资源初探 2
1.2 ALIENTEK战舰STM32F103资源说明 4
1.2.1 硬件资源说明 4
1.2.2 软件资源说明 10
1.2.3 I/O引脚分配 11
第2章 实验平台硬件资源详解 13
2.1 开发板原理图详解 13
2.2 开发板使用注意事项 31
2.3 STM32F103学习方法 32
第2篇 软件篇 35
第3章 MDK5软件入门 35
3.1 STM32官方固件库简介 35
3.1.1 库开发与寄存器开发的关系 35
3.1.2 STM32固件库与CMSIS标准讲解 36
3.1.3 STM32官方库包介绍 38
3.2 MDK5简介 41
3.3 新建基于固件库的MDK5工程模板 42
3.4 程序下载与调试 56
3.4.1 STM32软件仿真 56
3.4.2 STM32串口程序下载 62
3.4.3 JTAG/SWD程序下载和调试 67
3.5 MDK5使用技巧 71
3.5.1 文本美化 72
3.5.2 语法检测&代码提示 75
3.5.3 代码编辑技巧 76
3.5.4 其他小技巧 78
第4章 STM32开发基础知识入门 80
4.1 MDK下C语言基础复习 80
4.2 STM32系统架构 85
4.3 STM32时钟系统 86
4.4 端口复用和重映射 90
4.5 STM32 NVIC中断优先级管理 92
4.6 MDK中寄存器地址名称映射分析 96
4.7 MDK固件库快速组织代码技巧 98
第5章 SYSTEM文件夹介绍 104
5.1 delay文件夹代码介绍 104
5.1.1 操作系统支持宏定义及相关函数 105
5.1.2 delay_init函数 107
5.1.3 delay_us函数 108
5.1.4 delay_ms函数 110
5.2 sys文件夹代码介绍 111
5.3 usart文件夹介绍 113
5.3.1 printf函数支持 113
5.3.2 uart_init函数 114
5.3.3 USARTl_IRQHandler函数 116
第3篇 实战篇 120
第6章 跑马灯实验 120
第7章 按键输入实验 134
第8章 串口实验 141
第9章 外部中断实验 149
第10章 独立看门狗(IWDG)实验 155
第11章 窗口看门狗(WWDG)实验 159
第12章 定时器中断实验 164
第13章 PWM输出实验 172
第14章 输入捕获实验 179
第15章 TFTLCD显示实验 188
第16章 USMART调试组件实验 216
第17章 RTC实时时钟实验 227
第18章 待机唤醒实验 241
第19章 ADC实验 248
第20章 光敏传感器实验 260
第21章 DAC实验 263
第22章 DMA实验 272
第23章 IIC实验 282
第24章 SPI实验 291
第25章 RS485实验 301
第26章 CAN通信实验 307
第27章 触摸屏实验 332
第28章 红外遥控实验 354
第29章 DS18B20数字温度传感器实验 361
第30章 6轴传感器MPU6050实验 368
第31章 Flash模拟EEPROM实验 387
第32章 摄像头实验 397
第33章 外部SRAM实验 411
第34章 内存管理实验 418
第35章 SD卡实验 427
第36章 FATFS实验 449
第37章 汉字显示实验 462
第38章 图片显示实验 476
第39章 音乐播放器实验 487
第40章 串口IAP实验 500
第41章 USB虚拟串口实验 513
第42章 USB读卡器实验 525
第43章 网络通信实验 530
第44章 μC/OS-II实验1——任务调度 548
第45章 μC/OS-II实验2——信号量和邮箱 558
第46章 μC/OS-II实验3——消息队列、信号量集和软件定时器 567
参考文献 583