STM32 不完全手册(库函数版) 
ALIENTEK  MiniSTM32  V3.0 开发板教程 
STM32  不完全手册 
V3.1 -  库函数版本 
 
−ALIENTEK MiniSTM32 开发板教程 
 
 
 
 
I 
 
STM32 不完全手册(库函数版) 
ALIENTEK  MiniSTM32  V3.0 开发板教程 
广州市星翼电子科技有限公司 
淘宝店铺 1:http://eboard.taobao.com   
淘宝店铺 2:http://openedv.taobao.com         
技术支持论坛  (开源电子网)  :www.openedv.com 
官方网站:www.alientek.com 
最新资料下载链接:http://www.openedv.com/posts/list/13912.htm 
E-mail: 389063473@qq.com        QQ: 389063473 
咨询电话:020-38271790   
传真号码:020-36773971 
团队:正点原子团队 
正点原子,做最全面、最优秀的嵌入式开发平台软硬件供应商。 
 
 
 
友  情  提  示 
   
如果您想及时免费获取“正点原子”最新资料,敬请关注正点原子 
 
 
 
 
 
 
 
   
 
 
 
 
 
微信公众平台,我们将及时给您发布最新消息和重要资料。 
关注方法: 
(1)微信“扫一扫”,扫描右侧二维码,添加关注 
(2)微信添加朋友公众号输入“正点原子”关注 
(3)微信添加朋友输入“alientek_stm32” 关注   
 
II 
 
 
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.2.3 MiniSTM32 V3 IO 引脚分配 .......................................................................... 11 
1.3 ALIENTEK MiniSTM32 V3 开发板升级说明 .................................................. 14 
第二章  实验平台硬件资源详解 ................................................................................ 15 
2.1  开发板原理图详解 ............................................................................................ 15 
2.1.1 MCU ................................................................................................................. 15 
2.1.2 EEPROM .......................................................................................................... 17 
2.1.3  温度传感器 ..................................................................................................... 17 
2.1.4  按键 ................................................................................................................. 17 
2.1.5  液晶显示模块 ................................................................................................. 18 
2.1.6  红外接收头 ..................................................................................................... 18 
2.1.7 PS/2 接口 .......................................................................................................... 19 
2.1.8 LED .................................................................................................................. 19 
2.1.9 SD 卡 ................................................................................................................ 20 
2.1.10  无线模块 ....................................................................................................... 20 
2.1.11 SPI FLASH ..................................................................................................... 21 
2.1.12 USB 串口、USB、电源 ................................................................................ 21 
2.2  开发板使用注意事项 ........................................................................................ 22 
2.3 STM32 学习方法 ................................................................................................ 23 
第二篇  软件篇 ............................................................................................................ 25 
第三章  MDK5 软件入门 ............................................................................................ 26 
3.1 STM32 官方固件库简介 .................................................................................... 26 
3.1.1 库开发与寄存器开发的关系 ........................................................................ 26 
3.1.2 STM32 固件库与 CMSIS 标准讲解 ............................................................. 27 
 
III 
 
STM32 不完全手册(库函数版) 
ALIENTEK  MiniSTM32  V3.0 开发板教程 
3.1.3 STM32 官方库包介绍 ................................................................................... 28 
3.1.3.1  文件夹介绍: .............................................................................................. 29 
3.1.3.2  关键文件介绍: .......................................................................................... 30 
3.2MDK5 简介 .......................................................................................................... 31 
3.3 新建基于固件库的 MDK5 工程模板 ................................................................ 32 
3.4  程序下载与调试 ................................................................................................ 54 
3.4.1 STM32 软件仿真 ............................................................................................. 54 
3.4.2 STM32 串口程序下载 ..................................................................................... 63 
3.4.3 JLINK 下载与调试程序 .................................................................................. 69 
3.5 MDK5 使用技巧 ................................................................................................. 75 
3.5.1  文本美化 ......................................................................................................... 75 
3.5.2  语法检测&代码提示 ...................................................................................... 79 
3.5.3  代码编辑技巧 ................................................................................................. 80 
3.5.4  其他小技巧 ..................................................................................................... 84 
第四章 STM32 开发基础知识入门 ............................................................................ 87 
4.1 MDK 下 C 语言基础复习 .................................................................................. 87 
4.1.1  位操作 ............................................................................................................. 87 
4.1.2 define 宏定义 ................................................................................................... 88 
4.1.3 ifdef 条件编译 .................................................................................................. 88 
4.1.4 extern 变量申明 ............................................................................................... 89 
4.1.5 typedef 类型别名 ............................................................................................. 89 
4.1.6  结构体 ............................................................................................................. 90 
4.2 STM32 系统架构 ................................................................................................ 92 
4.3 STM32 时钟系统 ................................................................................................ 93 
4.4  端口复用和重映射 ............................................................................................ 97 
4.4.1 端口复用功能 .................................................................................................. 97 
4.4.2 端口重映射 ...................................................................................................... 98 
4.5 STM32 NVIC 中断优先级管理 ......................................................................... 99 
4.6 MDK 中寄存器地址名称映射分析 ................................................................. 102 
4.7 MDK 固件库快速组织代码技巧 ..................................................................... 105 
第五章  SYSTEM 文件夹介绍 ................................................................................. 110 
5.1 delay 文件夹代码介绍 ..................................................................................... 110 
5.1.1  操作系统支持宏定义及相关函数 ................................................................ 111 
 
IV 
 
STM32 不完全手册(库函数版) 
ALIENTEK  MiniSTM32  V3.0 开发板教程 
5.1.2delay_init 函数 ................................................................................................ 113 
5.1.3 delay_us 函数 ................................................................................................. 114 
5.1.4 delay_ms 函数 ................................................................................................ 116 
5.2 sys 文件夹代码介绍 ......................................................................................... 117 
5.2.1    IO 口的位操作实现 .................................................................................... 117 
5.3 usart 文件夹介绍 .............................................................................................. 119 
5.3.1 printf 函数支持 .............................................................................................. 119 
5.3.2 uart_init 函数 .................................................................................................. 120 
5.3.3 USART1_IRQHandler 函数........................................................................... 123 
第三篇  实战篇 .......................................................................................................... 125 
第六章  跑马灯实验 .................................................................................................. 126 
6.1 STM32 IO 简介 ................................................................................................. 127 
6.2  硬件设计 .......................................................................................................... 133 
6.3  软件设计 .......................................................................................................... 134 
6.4  仿真与下载 ...................................................................................................... 140 
第七章  按键输入实验 .............................................................................................. 143 
7.1 STM32 IO 口简介 ............................................................................................. 144 
7.2  硬件设计 .......................................................................................................... 144 
7.3  软件设计 .......................................................................................................... 144 
7.4  仿真与下载 ...................................................................................................... 148 
第八章  串口实验 ...................................................................................................... 153 
8.1 STM32 串口简介 .............................................................................................. 154 
8.2  硬件设计 .......................................................................................................... 157 
8.3  软件设计 .......................................................................................................... 157 
8.4  下载验证 .......................................................................................................... 161 
第九章  外部中断实验 .............................................................................................. 163 
9.1 STM32 外部中断简介 ...................................................................................... 164 
9.2  硬件设计 .......................................................................................................... 167 
9.3  软件设计 .......................................................................................................... 167 
9.4  下载验证 .......................................................................................................... 170 
第十章  独立看门狗(IWDG)实验 ....................................................................... 172 
10.1 STM32 独立看门狗简介 ................................................................................ 173 
10.2  硬件设计 ........................................................................................................ 175 
 
V 
 
STM32 不完全手册(库函数版) 
ALIENTEK  MiniSTM32  V3.0 开发板教程 
10.3  软件设计 ........................................................................................................ 175 
10.4  下载验证 ........................................................................................................ 177 
第十一章  窗口门狗(WWDG)实验 ..................................................................... 178 
11.1 STM32 窗口看门狗简介 ................................................................................ 179 
11.2  硬件设计 ........................................................................................................ 181 
11.3  软件设计 ........................................................................................................ 181 
11.4  下载验证 ........................................................................................................ 184 
第十二章  定时器中断实验 ...................................................................................... 185 
12.1 STM32 通用定时器简介 ................................................................................ 186 
12.2  硬件设计 ........................................................................................................ 191 
12.3  软件设计 ........................................................................................................ 191 
12.4  下载验证 ........................................................................................................ 193 
第十三章  PWM 输出实验 ........................................................................................ 194 
13.1 PWM 简介 ....................................................................................................... 195 
13.2  硬件设计 ........................................................................................................ 198 
13.3  软件设计 ........................................................................................................ 198 
13.4  下载验证 ........................................................................................................ 200 
第十四章  输入捕获实验 .......................................................................................... 201 
14.1  输入捕获简介 ................................................................................................ 202 
14.2  硬件设计 ........................................................................................................ 206 
14.3  软件设计 ........................................................................................................ 206 
14.4  下载验证 ........................................................................................................ 210 
第十五章  OLED 显示实验 ...................................................................................... 212 
15.1 OLED 简介 ..................................................................................................... 213 
15.2  硬件设计 ........................................................................................................ 219 
15.3  软件设计 ........................................................................................................ 220 
15.4  下载验证 ........................................................................................................ 227 
第十六章  TFTLCD 显示实验 .................................................................................. 229 
16.1 TFTLCD 简介 ................................................................................................. 230 
16.2  硬件设计 ........................................................................................................ 236 
16.3  软件设计 ........................................................................................................ 236 
16.4  下载验证 ........................................................................................................ 248 
第十七章  USMART 调试组件实验 ......................................................................... 250 
 
VI 
 
STM32 不完全手册(库函数版) 
ALIENTEK  MiniSTM32  V3.0 开发板教程 
17.1 USMART 调试组件简介 ................................................................................ 251 
17.2  硬件设计 ........................................................................................................ 255 
17.3  软件设计 ........................................................................................................ 255 
17.4  下载验证 ........................................................................................................ 259 
第十八章  RTC 实时时钟实验 .................................................................................. 263 
18.1 STM32 RTC 时钟简介 ................................................................................... 264 
18.2  硬件设计 ........................................................................................................ 270 
18.3  软件设计 ........................................................................................................ 270 
18.4  下载验证 ........................................................................................................ 277 
第十九章  待机唤醒实验 .......................................................................................... 279 
19.1 STM32 待机模式简介 .................................................................................... 280 
19.2  硬件设计 ........................................................................................................ 283 
19.3  软件设计 ........................................................................................................ 283 
19.4  下载与测试 .................................................................................................... 286 
第二十章  ADC 实验 ................................................................................................. 287 
20.1 STM32 ADC 简介 .......................................................................................... 288 
20.2  硬件设计 ........................................................................................................ 296 
20.3  软件设计 ........................................................................................................ 296 
20.4  下载验证 ........................................................................................................ 298 
第二十一章  内部温度传感器实验 .......................................................................... 300 
21.1 STM32  内部温度传感器简介 ....................................................................... 301 
21.2  硬件设计 ........................................................................................................ 301 
21.3  软件设计 ........................................................................................................ 301 
21.4  下载验证 ........................................................................................................ 303 
第二十二章  DAC 实验 ............................................................................................. 305 
22.1 STM32 DAC 简介 .......................................................................................... 306 
22.2  硬件设计 ........................................................................................................ 310 
22.3  软件设计 ........................................................................................................ 311 
22.4  下载验证 ........................................................................................................ 314 
第二十三章  DMA 实验 ............................................................................................ 315 
23.1 STM32 DMA 简介 .......................................................................................... 316 
23.2  硬件设计 ........................................................................................................ 321 
23.3  软件设计 ........................................................................................................ 321 
 
VII 
 
STM32 不完全手册(库函数版) 
ALIENTEK  MiniSTM32  V3.0 开发板教程 
23.4  下载验证 ........................................................................................................ 324 
第二十四章  IIC 实验 ................................................................................................ 326 
24.1 IIC 简介 ........................................................................................................... 327 
24.2  硬件设计 ........................................................................................................ 327 
24.3  软件设计 ........................................................................................................ 328 
24.4  下载验证 ........................................................................................................ 335 
第二十五章  SPI  实验 .............................................................................................. 337 
25.1 SPI  简介 ......................................................................................................... 338 
25.2  硬件设计 ........................................................................................................ 341 
25.3  软件设计 ........................................................................................................ 342 
25.4  下载验证 ........................................................................................................ 347 
第二十六章  触摸屏实验 .......................................................................................... 349 
26.1  触摸屏简介 .................................................................................................... 350 
26.1.1 电阻式触摸屏 .............................................................................................. 350 
26.1.2 电容式触摸屏 .............................................................................................. 350 
26.2  硬件设计 ........................................................................................................ 354 
26.3  软件设计 ........................................................................................................ 355 
26.4  下载验证 ........................................................................................................ 370 
第二十七章    红外遥控实验 .................................................................................... 372 
27.1  红外遥控简介 ................................................................................................ 373 
27.2  硬件设计 ........................................................................................................ 374 
27.3  软件设计 ........................................................................................................ 374 
27.4  下载验证 ........................................................................................................ 380 
第二十八章    DS18B20 数字温度传感器实验 ....................................................... 382 
28.1 DS18B20 简介 ................................................................................................ 383 
28.2  硬件设计 ........................................................................................................ 384 
28.3  软件设计 ........................................................................................................ 385 
28.4  下载验证 ........................................................................................................ 389 
第二十九章    无线通信实验 .................................................................................... 391 
29.1 NRF24L01 无线模块简介 .............................................................................. 392 
29.2  硬件设计 ........................................................................................................ 392 
29.3  软件设计 ........................................................................................................ 393 
29.4  下载验证 ........................................................................................................ 401 
 
VIII