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