STM32 开发指南
V1.1
−ALIENTEK 战舰 STM32 开发板教程
官方店铺 1:http://shop62103354.taobao.com
官方店铺 2:http://shop62057469.taobao.com
技术论坛:www.openedv.com
I
ALIENTEK 战舰STM32开发板www.openedv.com
内容简介 ........................................................................................................................ 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
II
ALIENTEK 战舰STM32开发板www.openedv.com
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.32 电源输入输出接口 ....................................................................................... 33
2.1.33 USB 串口 ....................................................................................................... 34
2.2 开发板使用注意事项 ......................................................................................... 34
第二篇 软件篇 ............................................................................................................ 36
第三章 RVMDK 软件入门 .......................................................................................... 37
3.1 RVMDK3.80A 简介 ............................................................................................ 37
3.2 新建 RVMDK 工程 ............................................................................................ 37
3.3 RVMDK 使用技巧 .............................................................................................. 50
3.3.1 文本美化 ......................................................................................................... 50
3.3.2 代码编辑技巧 ................................................................................................. 53
3.3.3 其他小技巧 ..................................................................................................... 57
3.3.4 调试技巧 ......................................................................................................... 59
第四章 下载与调试 .................................................................................................... 63
4.1 STM32 软件仿真 ................................................................................................ 63
4.2 STM32 程序下载 ................................................................................................ 68
4.3 STM32 硬件调试 ................................................................................................ 73
第五章 SYSTEM 文件夹介绍 ................................................................................... 78
5.1 delay 文件夹代码介绍 ....................................................................................... 78
5.1.1 delay_init 函数 ................................................................................................. 79
5.1.2 delay_us 函数 ................................................................................................... 80
5.1.3 delay_ms 函数 .................................................................................................. 82
5.2 sys 文件夹代码介绍 ........................................................................................... 83
5.2.1 IO 口的位操作实现 ......................................................................................... 83
III
ALIENTEK 战舰STM32开发板www.openedv.com
5.2.2 Stm32_Clock_Init 函数 .................................................................................... 85
5.2.3 Sys_Soft_Reset 函数 ........................................................................................ 88
5.2.4 Sys_Standby 函数 ............................................................................................ 89
5.2.5 JTAG_Set 函数 ................................................................................................. 91
5.2.6 中断管理函数 ................................................................................................. 92
5.3 usart 文件夹介绍 ................................................................................................ 98
5.3.1 USART1_IRQHandler 函数............................................................................. 98
5.3.2 uart_init 函数 .................................................................................................. 100
第三篇 实战篇 .......................................................................................................... 102
第六章 跑马灯实验 .................................................................................................. 103
6.1 STM32 IO 简介 ................................................................................................. 104
6.2 硬件设计 .......................................................................................................... 106
6.3 软件设计 .......................................................................................................... 107
6.4 仿真与下载 ...................................................................................................... 110
第七章 蜂鸣器实验 .................................................................................................. 113
7.1 蜂鸣器简介 ...................................................................................................... 114
7.2 硬件设计 .......................................................................................................... 114
7.3 软件设计 .......................................................................................................... 115
7.4 仿真与下载 ...................................................................................................... 118
第八章 按键输入实验 .............................................................................................. 120
8.1 STM32 IO 口简介 ............................................................................................. 121
8.2 硬件设计 .......................................................................................................... 121
8.3 软件设计 .......................................................................................................... 121
8.4 仿真与下载 ...................................................................................................... 126
第九章 串口实验 ...................................................................................................... 131
9.1 STM32 串口简介 .............................................................................................. 132
9.2 硬件设计 .......................................................................................................... 134
9.3 软件设计 .......................................................................................................... 134
9.4 下载验证 .......................................................................................................... 137
第十章 外部中断实验 .............................................................................................. 140
10.1 STM32 外部中断简介 .................................................................................... 141
10.2 硬件设计 ........................................................................................................ 141
IV
ALIENTEK 战舰STM32开发板www.openedv.com
10.3 软件设计 ........................................................................................................ 141
10.4 下载验证 ........................................................................................................ 144
第十一章 独立看门狗(IWDG)实验 ................................................................... 146
11.1 STM32 独立看门狗简介 ................................................................................ 147
11.2 硬件设计 ........................................................................................................ 149
11.3 软件设计 ........................................................................................................ 149
11.4 下载验证 ........................................................................................................ 151
第十二章 窗口门狗(WWDG)实验 ..................................................................... 152
12.1 STM32 窗口看门狗简介 ................................................................................ 153
12.2 硬件设计 ........................................................................................................ 155
12.3 软件设计 ........................................................................................................ 155
12.4 下载验证 ........................................................................................................ 157
第十三章 定时器中断实验 ...................................................................................... 158
13.1 STM32 通用定时器简介 ................................................................................ 159
13.2 硬件设计 ........................................................................................................ 163
13.3 软件设计 ........................................................................................................ 163
13.4 下载验证 ........................................................................................................ 164
第十四章 PWM 输出实验 ........................................................................................ 165
14.1 PWM 简介 ....................................................................................................... 166
14.2 硬件设计 ........................................................................................................ 168
14.3 软件设计 ........................................................................................................ 168
14.4 下载验证 ........................................................................................................ 170
第十五章 输入捕获实验 .......................................................................................... 171
15.1 输入捕获简介 ................................................................................................ 172
15.2 硬件设计 ........................................................................................................ 175
15.3 软件设计 ........................................................................................................ 175
15.4 下载验证 ........................................................................................................ 178
第十六章 电容触摸按键实验 .................................................................................. 180
16.1 电容触摸按键简介 ........................................................................................ 181
16.2 硬件设计 ........................................................................................................ 182
16.3 软件设计 ........................................................................................................ 182
16.4 下载验证 ........................................................................................................ 187
V
ALIENTEK 战舰STM32开发板www.openedv.com
第十七章 OLED 显示实验 ...................................................................................... 188
17.1 OLED 简介 ..................................................................................................... 189
17.2 硬件设计 ........................................................................................................ 195
17.3 软件设计 ........................................................................................................ 196
17.4 下载验证 ........................................................................................................ 203
第十八章 TFTLCD 显示实验 .................................................................................. 205
18.1 TFTLCD&FSMC 简介 ................................................................................... 206
18.1.1 TFTLCD 简介 .............................................................................................. 206
18.1.2 FSMC 简介 .................................................................................................. 210
18.2 硬件设计 ........................................................................................................ 216
18.3 软件设计 ........................................................................................................ 217
18.4 下载验证 ........................................................................................................ 228
第十九章 USMART 调试组件实验 ......................................................................... 230
19.1 USMART 调试组件简介 ................................................................................ 231
19.2 硬件设计 ........................................................................................................ 233
19.3 软件设计 ........................................................................................................ 234
19.4 下载验证 ........................................................................................................ 238
第二十章 RTC 实时时钟实验 .................................................................................. 242
20.1 STM32 RTC 时钟简介 ................................................................................... 243
20.2 硬件设计 ........................................................................................................ 248
20.3 软件设计 ........................................................................................................ 248
20.4 下载验证 ........................................................................................................ 256
第二十一章 待机唤醒实验 ...................................................................................... 257
21.1 STM32 待机模式简介 .................................................................................... 258
21.2 硬件设计 ........................................................................................................ 261
21.3 软件设计 ........................................................................................................ 261
21.4 下载与测试 .................................................................................................... 264
第二十二章 ADC 实验 ............................................................................................. 265
22.1 STM32 ADC 简介 .......................................................................................... 266
22.2 硬件设计 ........................................................................................................ 272
22.3 软件设计 ........................................................................................................ 272
22.4 下载验证 ........................................................................................................ 275
VI
ALIENTEK 战舰STM32开发板www.openedv.com
第二十三章 内部温度传感器实验 .......................................................................... 277
23.1 STM32 内部温度传感器简介 ....................................................................... 278
23.2 硬件设计 ........................................................................................................ 278
23.3 软件设计 ........................................................................................................ 278
23.4 下载验证 ........................................................................................................ 281
第二十四章 DAC 实验 ............................................................................................. 282
24.1 STM32 DAC 简介 .......................................................................................... 283
24.2 硬件设计 ........................................................................................................ 287
24.3 软件设计 ........................................................................................................ 287
24.4 下载验证 ........................................................................................................ 290
第二十五章 PWM DAC 实验 .................................................................................. 292
25.1 PWM DAC 简介 ............................................................................................. 293
25.2 硬件设计 ........................................................................................................ 294
25.3 软件设计 ........................................................................................................ 295
25.4 下载验证 ........................................................................................................ 298
第二十六章 DMA 实验 ............................................................................................ 300
26.1 STM32 DMA 简介 .......................................................................................... 301
26.2 硬件设计 ........................................................................................................ 304
26.3 软件设计 ........................................................................................................ 304
26.4 下载验证 ........................................................................................................ 308
第二十七章 IIC 实验 ................................................................................................ 310
27.1 IIC 简介 ........................................................................................................... 311
27.2 硬件设计 ........................................................................................................ 311
27.3 软件设计 ........................................................................................................ 312
27.4 下载验证 ........................................................................................................ 320
第二十八章 SPI 实验 .............................................................................................. 322
28.1 SPI 简介 ......................................................................................................... 323
28.2 硬件设计 ........................................................................................................ 324
28.3 软件设计 ........................................................................................................ 325
28.4 下载验证 ........................................................................................................ 332
第二十九章 485 实验 .............................................................................................. 333
29.1 485 简介 ......................................................................................................... 334
VII
ALIENTEK 战舰STM32开发板www.openedv.com
29.2 硬件设计 ........................................................................................................ 335
29.3 软件设计 ........................................................................................................ 336
29.4 下载验证 ........................................................................................................ 340
第三十章 CAN 通讯实验 ......................................................................................... 342
30.1 CAN 简介 ........................................................................................................ 343
30.2 硬件设计 ........................................................................................................ 359
30.3 软件设计 ........................................................................................................ 361
30.4 下载验证 ........................................................................................................ 369
第三十一章 触摸屏实验 .......................................................................................... 371
31.1 触摸屏简介 .................................................................................................... 372
31.2 硬件设计 ........................................................................................................ 373
31.3 软件设计 ........................................................................................................ 373
31.4 下载验证 ........................................................................................................ 381
第三十二章 红外遥控实验 .................................................................................... 383
32.1 红外遥控简介 ................................................................................................. 384
32.2 硬件设计 ........................................................................................................ 385
32.3 软件设计 ........................................................................................................ 386
32.4 下载验证 ........................................................................................................ 391
第三十三章 游戏手柄实验 .................................................................................... 392
33.1 游戏手柄简介 ................................................................................................. 393
33.2 硬件设计 ........................................................................................................ 394
33.3 软件设计 ........................................................................................................ 395
33.4 下载验证 ........................................................................................................ 397
第三十四章 三轴加速度传感器实验 ...................................................................... 399
34.1 ADXL345 简介 ............................................................................................... 400
34.2 硬件设计 ........................................................................................................ 402
34.3 软件设计 ........................................................................................................ 403
34.4 下载验证 ........................................................................................................ 410
第三十五章 DS18B20 数字温度传感器实验 ....................................................... 412
35.1 DS18B20 简介 ................................................................................................ 413
35.2 硬件设计 ........................................................................................................ 414
35.3 软件设计 ........................................................................................................ 415
VIII
ALIENTEK 战舰STM32开发板www.openedv.com