II
内容简介 ........................................................................................................................ I
前言 ................................................................................................................................ 2
第一篇 硬件篇 .............................................................................................................. 4
第一章 实验平台简介 .................................................................................................. 5
1.1 ALIENTEK 战舰 STM32 开发板资源初探 ........................................................ 5
1.2 ALIENTEK 战舰 STM32 开发板资源说明 ........................................................ 7
1.2.1 硬件资源说明 .................................................................................................... 7
1.2.2 软件资源说明 .................................................................................................. 12
第二章 实验平台硬件资源详解 ................................................................................ 14
2.1 开发板原理图详解 ............................................................................................ 14
2.1.1 MCU ................................................................................................................. 14
2.1.2 引出 IO 口 ....................................................................................................... 16
2.1.3 USB 串口/串口 1 选择接口 ............................................................................ 16
2.1.4 JTAG/SWD ....................................................................................................... 17
2.1.5 SRAM ............................................................................................................... 17
2.1.6 LCD/OLED 模块接口 ..................................................................................... 18
2.1.7 复位电路 ......................................................................................................... 19
2.1.8 启动模式设置接口 ......................................................................................... 19
2.1.9 RS232 串口 ...................................................................................................... 20
2.1.10 RS485 接口 .................................................................................................... 20
2.1.11 CAN/USB 接口 .............................................................................................. 21
2.1.12 EEPROM ........................................................................................................ 21
2.1.13 游戏手柄接口 ............................................................................................... 22
2.1.14 SPI FLASH ..................................................................................................... 22
2.1.15 3D 加速度传感器 .......................................................................................... 23
2.1.16 温湿度传感器接口 ....................................................................................... 23
2.1.17 红外接收头 ................................................................................................... 23
2.1.18 无线模块接口 ............................................................................................... 24
2.1.19 LED ................................................................................................................ 24
2.1.20 按键 ............................................................................................................... 25
2.1.21 TPAD 电容触摸按键 ..................................................................................... 25
2.1.22 PS/2 接口 ........................................................................................................ 26
III
2.1.23 OLED/摄像头模块接口 ................................................................................ 26
2.1.24 有源蜂鸣器 ................................................................................................... 27
2.1.25 SD 卡/以太网模块接口 ................................................................................. 28
2.1.26 多功能端口 ................................................................................................... 29
2.1.27 音频选择 ....................................................................................................... 30
2.1.28 FM 收发 ......................................................................................................... 31
2.1.29 音频输出 ....................................................................................................... 31
2.1.30 音频编解码 ................................................................................................... 32
2.1.31 电源 ............................................................................................................... 32
2.1.33 USB 串口 ....................................................................................................... 34
2.2 开发板使用注意事项 ......................................................................................... 34
第二篇 软件篇 ............................................................................................................ 36
第三章 RVMDK 软件入门 .......................................................................................... 37
3.1 STM32 官方固件库简介 .................................................................................... 37
3.1.1 库开发与寄存器开发的关系 ........................................................................ 37
3.1.2 STM32 固件库与 CMSIS 标准讲解 ............................................................. 38
3.1.3 STM32 官方库包介绍 ................................................................................... 39
3.1.3.1 文件夹介绍: .............................................................................................. 40
3.1.3.2 关键文件介绍: .......................................................................................... 41
3.2 RVMDK3.80A 简介 ............................................................................................ 42
3.3 新建基于固件库的 RVMDK 工程模板 ............................................................. 43
3.3.1 MDK3.8a 安装步骤 ........................................................................................ 43
3.3.2 添加 License Key ......................................................................................... 44
3.3.3 新建工程模板 ................................................................................................ 46
3.4 MDK 下的程序下载与调试 ............................................................................... 65
3.4.1 STM32 软件仿真 ............................................................................................. 65
3.4.2 STM32 程序下载 ............................................................................................. 71
3.4.3 STM32 硬件调试 ............................................................................................. 76
3.5 RVMDK 使用技巧 .............................................................................................. 80
3.5.1 文本美化 ......................................................................................................... 80
3.5.2 代码编辑技巧 ................................................................................................. 84
3.5.3 其他小技巧 ..................................................................................................... 89
3.5.4 调试技巧 ......................................................................................................... 90
IV
第四章 STM32 开发基础知识入门 ............................................................................ 94
4.1 MDK 下 C 语言基础复习 .................................................................................. 94
4.1.1 位操作 ............................................................................................................. 94
4.1.2 define 宏定义 ................................................................................................... 95
4.1.3 ifdef 条件编译 .................................................................................................. 95
4.1.4 extern 变量申明 ............................................................................................... 96
4.1.5 typedef 类型别名 ............................................................................................. 97
4.1.6 结构体 ............................................................................................................. 97
4.2 STM32 系统架构 ................................................................................................ 99
4.3 STM32 时钟系统 .............................................................................................. 100
4.4 端口复用和重映射 .......................................................................................... 104
4.4.1 端口复用功能 ................................................................................................ 104
4.4.2 端口重映射 .................................................................................................... 105
4.5 STM32 NVIC 中断优先级管理 ....................................................................... 106
4.6 MDK 中寄存器地址名称映射分析 ................................................................. 109
4.7 MDK 固件库快速组织代码技巧 ...................................................................... 111
第五章 SYSTEM 文件夹介绍 ................................................................................. 117
5.1 delay 文件夹代码介绍 ..................................................................................... 117
5.1.1 delay_init 函数 ............................................................................................... 118
5.1.2 delay_us 函数 ................................................................................................. 119
5.1.3 delay_ms 函数 ................................................................................................ 121
5.2 sys 文件夹代码介绍 ......................................................................................... 122
5.2.1 IO 口的位操作实现 .................................................................................... 122
5.2.2 中断分组设置函数 ....................................................................................... 124
5.3 usart 文件夹介绍 .............................................................................................. 124
5.3.1 printf 函数支持 .............................................................................................. 125
5.3.2 uart_init 函数 .................................................................................................. 125
5.3.3 USART1_IRQHandler 函数........................................................................... 128
第三篇 实战篇 .......................................................................................................... 131
第六章 跑马灯实验 .................................................................................................. 132
6.1 STM32 IO 简介 ................................................................................................. 133
6.2 硬件设计 .......................................................................................................... 140
V
6.3 软件设计 .......................................................................................................... 140
6.4 仿真与下载 ...................................................................................................... 145
第七章 蜂鸣器实验 .................................................................................................. 148
7.1 蜂鸣器简介 ...................................................................................................... 149
7.2 硬件设计 .......................................................................................................... 149
7.3 软件设计 .......................................................................................................... 150
7.4 仿真与下载 ...................................................................................................... 153
第八章 按键输入实验 .............................................................................................. 155
8.1 STM32 IO 口简介 ............................................................................................. 156
8.2 硬件设计 .......................................................................................................... 156
8.3 软件设计 .......................................................................................................... 156
8.4 仿真与下载 ...................................................................................................... 159
第九章 串口实验 ...................................................................................................... 164
9.1 STM32 串口简介 .............................................................................................. 165
9.2 硬件设计 .......................................................................................................... 167
9.3 软件设计 .......................................................................................................... 168
9.4 下载验证 .......................................................................................................... 171
第十章 外部中断实验 .............................................................................................. 174
10.1 STM32 外部中断简介 .................................................................................... 175
10.2 硬件设计 ........................................................................................................ 178
10.3 软件设计 ........................................................................................................ 178
10.4 下载验证 ........................................................................................................ 180
第十一章 独立看门狗(IWDG)实验 ................................................................... 181
11.1 STM32 独立看门狗简介 ................................................................................ 182
11.2 硬件设计 ........................................................................................................ 183
11.3 软件设计 ........................................................................................................ 184
11.4 下载验证 ........................................................................................................ 185
第十二章 窗口门狗(WWDG)实验 ..................................................................... 186
12.1 STM32 窗口看门狗简介 ................................................................................ 187
12.2 硬件设计 ........................................................................................................ 189
12.3 软件设计 ........................................................................................................ 190
12.4 下载验证 ........................................................................................................ 191