STM32 不完全手册(库函数版)
ALIENTEK MiniSTM32 V3.0 开发板教程
STM32 不完全手册
V3.0(库函数版)
−ALIENTEK MiniSTM32 开发板教程
官方店铺 1:http://shop62103354.taobao.com
官方店铺 2:http://shop62057469.taobao.com
技术论坛:www.openedv.com
I
STM32 不完全手册(库函数版)
ALIENTEK MiniSTM32 V3.0 开发板教程
内容简介 ........................................................................................................................ I
前言 ................................................................................................................................ 2
第一篇 硬件篇 .............................................................................................................. 4
第一章 实验平台简介 .................................................................................................. 5
1.1 ALIENTEK MiniSTM32 开发板资源初探 ......................................................... 5
1.2 ALIENTEK MiniSTM32 开发板资源说明 .......................................................... 7
1.2.1 硬件资源说明 .................................................................................................... 7
1.2.2 软件资源说明 .................................................................................................. 10
1.3 ALIENTEK MiniSTM32 V3.0 开发板升级说明 ............................................... 12
第二章 实验平台硬件资源详解 ................................................................................ 13
2.1 开发板原理图详解 ............................................................................................ 13
2.1.1 MCU ................................................................................................................. 13
2.1.2 EEPROM .......................................................................................................... 15
2.1.3 温度传感器 ..................................................................................................... 15
2.1.4 按键 ................................................................................................................. 15
2.1.5 液晶显示模块 ................................................................................................. 16
2.1.6 红外接收头 ..................................................................................................... 16
2.1.7 PS/2 接口 .......................................................................................................... 17
2.1.8 LED .................................................................................................................. 17
2.1.9 SD 卡 ................................................................................................................ 18
2.1.10 无线模块 ....................................................................................................... 18
2.1.11 SPI FLASH ..................................................................................................... 19
2.1.12 USB 串口、USB、电源 ................................................................................ 19
2.2 开发板使用注意事项 ........................................................................................ 20
2.3 STM32 学习方法 ................................................................................................ 21
第二篇 软件篇 ............................................................................................................ 23
第三章 MDK5 软件入门 ............................................................................................ 24
3.1 STM32 官方固件库简介 .................................................................................... 24
3.1.1 库开发与寄存器开发的关系 ........................................................................ 24
3.1.2 STM32 固件库与 CMSIS 标准讲解 ............................................................. 25
3.1.3 STM32 官方库包介绍 ................................................................................... 26
II
STM32 不完全手册(库函数版)
ALIENTEK MiniSTM32 V3.0 开发板教程
3.1.3.1 文件夹介绍: .............................................................................................. 27
3.1.3.2 关键文件介绍: .......................................................................................... 28
3.2MDK5 简介 .......................................................................................................... 29
3.3 新建基于 V3.5 固件库的 MDK5 工程模板 ..................................................... 30
3.3.1 MDK5 安装步骤 .............................................................................................. 31
3.3.2 添加 License Key ............................................................................................. 31
3.3.3 新建工程模板 .................................................................................................. 33
3.4 程序下载与调试 ................................................................................................ 54
3.4.1 STM32 软件仿真 ............................................................................................. 54
3.4.2 STM32 程序下载 ............................................................................................. 62
3.4.3 JLINK 下载与调试程序 .................................................................................. 67
3.5 MDK5 使用技巧 ................................................................................................. 72
3.5.1 文本美化 ......................................................................................................... 72
3.5.2 语法检测&代码提示 ...................................................................................... 74
3.5.3 代码编辑技巧 ................................................................................................. 76
3.5.4 其他小技巧 ..................................................................................................... 80
第四章 STM32 开发基础知识入门 ............................................................................ 82
4.1 MDK 下 C 语言基础复习 .................................................................................. 82
4.1.1 位操作 ............................................................................................................. 82
4.1.2 define 宏定义 ................................................................................................... 83
4.1.3 ifdef 条件编译 .................................................................................................. 83
4.1.4 extern 变量申明 ............................................................................................... 84
4.1.5 typedef 类型别名 ............................................................................................. 84
4.1.6 结构体 ............................................................................................................. 85
4.2 STM32 系统架构 ................................................................................................ 87
4.3 STM32 时钟系统 ................................................................................................ 88
4.4 端口复用和重映射 ............................................................................................ 92
4.4.1 端口复用功能 .................................................................................................. 92
4.4.2 端口重映射 ...................................................................................................... 93
4.5 STM32 NVIC 中断优先级管理 ......................................................................... 94
4.6 MDK 中寄存器地址名称映射分析 ................................................................... 97
4.7 MDK 固件库快速组织代码技巧 ..................................................................... 100
第五章 SYSTEM 文件夹介绍 ................................................................................. 105
III
STM32 不完全手册(库函数版)
ALIENTEK MiniSTM32 V3.0 开发板教程
5.1 delay 文件夹代码介绍 ..................................................................................... 105
5.1.1 delay_init 函数 ............................................................................................... 106
5.1.2 delay_us 函数 ................................................................................................. 107
5.1.3 delay_ms 函数 ................................................................................................ 109
5.2 sys 文件夹代码介绍 ......................................................................................... 110
5.2.1 IO 口的位操作实现 .................................................................................... 110
5.2.2 中断分组设置函数 ....................................................................................... 112
5.3 usart 文件夹介绍 .............................................................................................. 112
5.3.1 printf 函数支持 .............................................................................................. 113
5.3.2 uart_init 函数 .................................................................................................. 113
5.3.3 USART1_IRQHandler 函数........................................................................... 116
第三篇 实战篇 .......................................................................................................... 119
第六章 跑马灯实验 .................................................................................................. 120
6.1 STM32 IO 简介 ................................................................................................. 121
6.2 硬件设计 .......................................................................................................... 128
6.3 软件设计 .......................................................................................................... 129
6.4 仿真与下载 ...................................................................................................... 138
第七章 按键输入实验 .............................................................................................. 141
7.1 STM32 IO 口简介 ............................................................................................. 142
7.2 硬件设计 .......................................................................................................... 142
7.3 软件设计 .......................................................................................................... 142
7.4 仿真与下载 ...................................................................................................... 146
第八章 串口实验 ...................................................................................................... 151
8.1 STM32 串口简介 .............................................................................................. 152
8.2 硬件设计 .......................................................................................................... 155
8.3 软件设计 .......................................................................................................... 155
8.4 下载验证 .......................................................................................................... 159
第九章 外部中断实验 .............................................................................................. 161
9.1 STM32 外部中断简介 ...................................................................................... 162
9.2 硬件设计 .......................................................................................................... 165
9.3 软件设计 .......................................................................................................... 165
9.4 下载验证 .......................................................................................................... 168
第十章 独立看门狗(IWDG)实验 ....................................................................... 170
IV
STM32 不完全手册(库函数版)
ALIENTEK MiniSTM32 V3.0 开发板教程
10.1 STM32 独立看门狗简介 ................................................................................ 171
10.2 硬件设计 ........................................................................................................ 173
10.3 软件设计 ........................................................................................................ 173
10.4 下载验证 ........................................................................................................ 174
第十一章 窗口门狗(WWDG)实验 ..................................................................... 176
11.1 STM32 窗口看门狗简介 ................................................................................ 177
11.2 硬件设计 ........................................................................................................ 179
11.3 软件设计 ........................................................................................................ 179
11.4 下载验证 ........................................................................................................ 182
第十二章 定时器中断实验 ...................................................................................... 183
12.1 STM32 通用定时器简介 ................................................................................ 184
12.2 硬件设计 ........................................................................................................ 189
12.3 软件设计 ........................................................................................................ 189
12.4 下载验证 ........................................................................................................ 191
第十三章 PWM 输出实验 ........................................................................................ 192
13.1 PWM 简介 ....................................................................................................... 193
13.2 硬件设计 ........................................................................................................ 196
13.3 软件设计 ........................................................................................................ 196
13.4 下载验证 ........................................................................................................ 198
第十四章 输入捕获实验 .......................................................................................... 199
14.1 输入捕获简介 ................................................................................................ 200
14.2 硬件设计 ........................................................................................................ 204
14.3 软件设计 ........................................................................................................ 204
14.4 下载验证 ........................................................................................................ 208
第十五章 OLED 显示实验 ...................................................................................... 210
15.1 OLED 简介 ..................................................................................................... 211
15.2 硬件设计 ........................................................................................................ 217
15.3 软件设计 ........................................................................................................ 218
15.4 下载验证 ........................................................................................................ 225
第十六章 TFTLCD 显示实验 .................................................................................. 227
16.1 TFTLCD 简介 ................................................................................................. 228
16.2 硬件设计 ........................................................................................................ 234
16.3 软件设计 ........................................................................................................ 234
V
STM32 不完全手册(库函数版)
ALIENTEK MiniSTM32 V3.0 开发板教程
16.4 下载验证 ........................................................................................................ 246
第十七章 USMART 调试组件实验 ......................................................................... 247
17.1 USMART 调试组件简介 ................................................................................ 248
17.2 硬件设计 ........................................................................................................ 252
17.3 软件设计 ........................................................................................................ 252
17.4 下载验证 ........................................................................................................ 256
第十八章 RTC 实时时钟实验 .................................................................................. 260
18.1 STM32 RTC 时钟简介 ................................................................................... 261
18.2 硬件设计 ........................................................................................................ 267
18.3 软件设计 ........................................................................................................ 267
18.4 下载验证 ........................................................................................................ 274
第十九章 待机唤醒实验 .......................................................................................... 276
19.1 STM32 待机模式简介 .................................................................................... 277
19.2 硬件设计 ........................................................................................................ 280
19.3 软件设计 ........................................................................................................ 280
19.4 下载与测试 .................................................................................................... 283
第二十章 ADC 实验 ................................................................................................. 284
20.1 STM32 ADC 简介 .......................................................................................... 285
20.2 硬件设计 ........................................................................................................ 293
20.3 软件设计 ........................................................................................................ 293
20.4 下载验证 ........................................................................................................ 295
第二十一章 内部温度传感器实验 .......................................................................... 297
21.1 STM32 内部温度传感器简介 ....................................................................... 298
21.2 硬件设计 ........................................................................................................ 298
21.3 软件设计 ........................................................................................................ 298
21.4 下载验证 ........................................................................................................ 300
第二十二章 DAC 实验 ............................................................................................. 302
22.1 STM32 DAC 简介 .......................................................................................... 303
22.2 硬件设计 ........................................................................................................ 307
22.3 软件设计 ........................................................................................................ 308
22.4 下载验证 ........................................................................................................ 311
第二十三章 DMA 实验 ............................................................................................ 312
VI
STM32 不完全手册(库函数版)
ALIENTEK MiniSTM32 V3.0 开发板教程
23.1 STM32 DMA 简介 .......................................................................................... 313
23.2 硬件设计 ........................................................................................................ 318
23.3 软件设计 ........................................................................................................ 318
23.4 下载验证 ........................................................................................................ 321
第二十四章 IIC 实验 ................................................................................................ 323
24.1 IIC 简介 ........................................................................................................... 324
24.2 硬件设计 ........................................................................................................ 324
24.3 软件设计 ........................................................................................................ 325
24.4 下载验证 ........................................................................................................ 332
第二十五章 SPI 实验 .............................................................................................. 334
25.1 SPI 简介 ......................................................................................................... 335
25.2 硬件设计 ........................................................................................................ 338
25.3 软件设计 ........................................................................................................ 339
25.4 下载验证 ........................................................................................................ 344
第二十六章 触摸屏实验 .......................................................................................... 346
26.1 触摸屏简介 .................................................................................................... 347
26.1.1 电阻式触摸屏 .............................................................................................. 347
26.1.2 电容式触摸屏 .............................................................................................. 347
26.2 硬件设计 ........................................................................................................ 350
26.3 软件设计 ........................................................................................................ 351
26.4 下载验证 ........................................................................................................ 363
第二十七章 红外遥控实验 .................................................................................... 365
27.1 红外遥控简介 ................................................................................................ 366
27.2 硬件设计 ........................................................................................................ 367
27.3 软件设计 ........................................................................................................ 367
27.4 下载验证 ........................................................................................................ 373
第二十八章 DS18B20 数字温度传感器实验 ....................................................... 375
28.1 DS18B20 简介 ................................................................................................ 376
28.2 硬件设计 ........................................................................................................ 377
28.3 软件设计 ........................................................................................................ 378
28.4 下载验证 ........................................................................................................ 382
第二十九章 无线通信实验 .................................................................................... 384
29.1 NRF24L01 无线模块简介 .............................................................................. 385
VII
STM32 不完全手册(库函数版)
ALIENTEK MiniSTM32 V3.0 开发板教程
29.2 硬件设计 ........................................................................................................ 385
29.3 软件设计 ........................................................................................................ 386
29.4 下载验证 ........................................................................................................ 394
第三十章 PS2 鼠标实验 ......................................................................................... 396
30.1 PS/2 简介 ......................................................................................................... 397
30.2 硬件设计 ........................................................................................................ 399
30.3 软件设计 ........................................................................................................ 400
30.4 下载验证 ........................................................................................................ 409
第三十一章 FLASH 模拟 EEPROM 实验 .............................................................. 411
31.1 STM32 FLASH 简介 ...................................................................................... 412
31.2 硬件设计 ........................................................................................................ 418
31.3 软件设计 ........................................................................................................ 418
31.4 下载验证 ........................................................................................................ 422
第三十二章 内存管理实验 ...................................................................................... 424
32.1 内存管理简介 ................................................................................................ 425
32.2 硬件设计 ........................................................................................................ 426
32.3 软件设计 ........................................................................................................ 426
32.4 下载验证 ........................................................................................................ 432
第三十三章 SD 卡实验 .......................................................................................... 434
33.1 SD 卡简介 ....................................................................................................... 435
33.2 硬件设计 ........................................................................................................ 437
33.3 软件设计 ........................................................................................................ 438
33.4 下载验证 ........................................................................................................ 443
第三十四章 FATFS 实验 ........................................................................................ 445
34.1 FATFS 简介 ..................................................................................................... 446
34.2 硬件设计 ........................................................................................................ 451
34.3 软件设计 ........................................................................................................ 451
34.4 下载验证 ........................................................................................................ 458
第三十五章 汉字显示实验 ...................................................................................... 460
35.1 汉字显示原理简介 ........................................................................................ 461
35.2 硬件设计 ........................................................................................................ 465
35.3 软件设计 ........................................................................................................ 465
35.4 下载验证 ........................................................................................................ 474
VIII