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.0 开发板升级说明 ............................................... 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 MDK5 简介 ......................................................................................................... 26
3.2 新建 MDK5 工程 ............................................................................................... 27
3.3 MDK5 使用技巧 ................................................................................................. 41
3.3.1 文本美化 ......................................................................................................... 41
III
STM32 不完全手册(寄存器版)
ALIENTEK MiniSTM32 V3.0 开发板教程
3.3.2 语法检测&代码提示 ...................................................................................... 43
3.3.3 代码编辑技巧 ................................................................................................. 45
3.3.4 其他小技巧 ..................................................................................................... 49
第四章 下载与调试 .................................................................................................... 52
4.1 STM32F1 软件仿真 ............................................................................................ 52
4.2 STM32F1 程序下载 ............................................................................................ 58
4.3 STM32F1 在线调试 ............................................................................................ 63
第五章 SYSTEM 文件夹介绍 ................................................................................... 67
5.1 delay 文件夹代码介绍 ....................................................................................... 67
5.1.1 操作系统支持宏定义及相关函数 ................................................................. 68
5.1.2 delay_init 函数 ................................................................................................. 70
5.1.3 delay_us 函数 ................................................................................................... 71
5.1.4 delay_ms 函数 .................................................................................................. 73
5.2 sys 文件夹代码介绍 ........................................................................................... 74
5.2.1 IO 口的位操作实现 ......................................................................................... 74
5.2.2 Stm32_Clock_Init 函数 .................................................................................... 76
5.2.3 Sys_Soft_Reset 函数 ........................................................................................ 79
5.2.4 Sys_Standby 函数 ............................................................................................ 80
5.2.5 JTAG_Set 函数 ................................................................................................. 82
5.2.6 中断管理函数 ................................................................................................. 82
5.3 usart 文件夹介绍 ................................................................................................ 88
5.3.1 USART1_IRQHandler 函数............................................................................. 88
5.3.2 uart_init 函数 .................................................................................................... 90
第三篇 实战篇 ............................................................................................................ 92
第六章 跑马灯实验 .................................................................................................... 93
6.1 STM32 IO 简介 ................................................................................................... 94
6.2 硬件设计 ............................................................................................................ 96
6.3 软件设计 ............................................................................................................ 97
6.4 仿真与下载 ...................................................................................................... 100
第七章 按键输入实验 .............................................................................................. 103
7.1 STM32 IO 口简介 ............................................................................................. 104
7.2 硬件设计 .......................................................................................................... 104
7.3 软件设计 .......................................................................................................... 104
IV
STM32 不完全手册(寄存器版)
ALIENTEK MiniSTM32 V3.0 开发板教程
7.4 仿真与下载 ...................................................................................................... 109
第八章 串口实验 ...................................................................................................... 113
8.1 STM32 串口简介 .............................................................................................. 114
8.2 硬件设计 .......................................................................................................... 116
8.3 软件设计 .......................................................................................................... 116
8.4 下载验证 .......................................................................................................... 119
第九章 外部中断实验 .............................................................................................. 121
9.1 STM32 外部中断简介 ...................................................................................... 122
9.2 硬件设计 .......................................................................................................... 122
9.3 软件设计 .......................................................................................................... 122
9.4 下载验证 .......................................................................................................... 125
第十章 独立看门狗(IWDG)实验 ....................................................................... 126
10.1 STM32 独立看门狗简介 ................................................................................ 127
10.2 硬件设计 ........................................................................................................ 129
10.3 软件设计 ........................................................................................................ 129
10.4 下载验证 ........................................................................................................ 130
第十一章 窗口门狗(WWDG)实验 ..................................................................... 131
11.1 STM32 窗口看门狗简介 ................................................................................ 132
11.2 硬件设计 ........................................................................................................ 134
11.3 软件设计 ........................................................................................................ 134
11.4 下载验证 ........................................................................................................ 136
第十二章 定时器中断实验 ...................................................................................... 137
12.1 STM32 通用定时器简介 ................................................................................ 138
12.2 硬件设计 ........................................................................................................ 141
12.3 软件设计 ........................................................................................................ 141
12.4 下载验证 ........................................................................................................ 142
第十三章 PWM 输出实验 ........................................................................................ 143
13.1 PWM 简介 ....................................................................................................... 144
13.2 硬件设计 ........................................................................................................ 146
13.3 软件设计 ........................................................................................................ 146
13.4 下载验证 ........................................................................................................ 147
第十四章 输入捕获实验 .......................................................................................... 149
V
STM32 不完全手册(寄存器版)
ALIENTEK MiniSTM32 V3.0 开发板教程
14.1 输入捕获简介 ................................................................................................ 150
14.2 硬件设计 ........................................................................................................ 153
14.3 软件设计 ........................................................................................................ 153
14.4 下载验证 ........................................................................................................ 156
第十五章 OLED 显示实验 ...................................................................................... 158
15.1 OLED 简介 ..................................................................................................... 159
15.2 硬件设计 ........................................................................................................ 165
15.3 软件设计 ........................................................................................................ 166
15.4 下载验证 ........................................................................................................ 173
第十六章 TFTLCD 显示实验 .................................................................................. 174
16.1 TFTLCD 简介 ................................................................................................. 175
16.2 硬件设计 ........................................................................................................ 181
16.3 软件设计 ........................................................................................................ 181
16.4 下载验证 ........................................................................................................ 193
第十七章 USMART 调试组件实验 ......................................................................... 195
17.1 USMART 调试组件简介 ................................................................................ 196
17.2 硬件设计 ........................................................................................................ 200
17.3 软件设计 ........................................................................................................ 200
17.4 下载验证 ........................................................................................................ 203
第十八章 RTC 实时时钟实验 .................................................................................. 207
18.1 STM32 RTC 时钟简介 ................................................................................... 208
18.2 硬件设计 ........................................................................................................ 213
18.3 软件设计 ........................................................................................................ 213
18.4 下载验证 ........................................................................................................ 220
第十九章 待机唤醒实验 .......................................................................................... 222
19.1 STM32 待机模式简介 .................................................................................... 223
19.2 硬件设计 ........................................................................................................ 226
19.3 软件设计 ........................................................................................................ 226
19.4 下载与测试 .................................................................................................... 228
第二十章 ADC 实验 ................................................................................................. 229
20.1 STM32 ADC 简介 .......................................................................................... 230
20.2 硬件设计 ........................................................................................................ 236
20.3 软件设计 ........................................................................................................ 236
VI
STM32 不完全手册(寄存器版)
ALIENTEK MiniSTM32 V3.0 开发板教程
20.4 下载验证 ........................................................................................................ 239
第二十一章 内部温度传感器实验 .......................................................................... 240
21.1 STM32 内部温度传感器简介 ....................................................................... 241
21.2 硬件设计 ........................................................................................................ 241
21.3 软件设计 ........................................................................................................ 241
21.4 下载验证 ........................................................................................................ 244
第二十二章 DAC 实验 ............................................................................................. 245
22.1 STM32 DAC 简介 .......................................................................................... 246
22.2 硬件设计 ........................................................................................................ 249
22.3 软件设计 ........................................................................................................ 250
22.4 下载验证 ........................................................................................................ 253
第二十三章 DMA 实验 ............................................................................................ 254
23.1 STM32 DMA 简介 .......................................................................................... 255
23.2 硬件设计 ........................................................................................................ 258
23.3 软件设计 ........................................................................................................ 258
23.4 下载验证 ........................................................................................................ 261
第二十四章 IIC 实验 ................................................................................................ 263
24.1 IIC 简介 ........................................................................................................... 264
24.2 硬件设计 ........................................................................................................ 264
24.3 软件设计 ........................................................................................................ 265
24.4 下载验证 ........................................................................................................ 273
第二十五章 SPI 实验 .............................................................................................. 275
25.1 SPI 简介 ......................................................................................................... 276
25.2 硬件设计 ........................................................................................................ 277
25.3 软件设计 ........................................................................................................ 278
25.4 下载验证 ........................................................................................................ 284
第二十六章 触摸屏实验 .......................................................................................... 285
26.1 触摸屏简介 .................................................................................................... 286
26.1.1 电阻式触摸屏 .............................................................................................. 286
26.1.2 电容式触摸屏 .............................................................................................. 286
26.2 硬件设计 ........................................................................................................ 290
26.3 软件设计 ........................................................................................................ 291
26.4 下载验证 ........................................................................................................ 306
VII
STM32 不完全手册(寄存器版)
ALIENTEK MiniSTM32 V3.0 开发板教程
第二十七章 红外遥控实验 .................................................................................... 308
27.1 红外遥控简介 ................................................................................................ 309
27.2 硬件设计 ........................................................................................................ 310
27.3 软件设计 ........................................................................................................ 310
27.4 下载验证 ........................................................................................................ 315
第二十八章 DS18B20 数字温度传感器实验 ....................................................... 317
28.1 DS18B20 简介 ................................................................................................ 318
28.2 硬件设计 ........................................................................................................ 319
28.3 软件设计 ........................................................................................................ 320
28.4 下载验证 ........................................................................................................ 324
第二十九章 无线通信实验 .................................................................................... 326
29.1 NRF24L01 无线模块简介 .............................................................................. 327
29.2 硬件设计 ........................................................................................................ 327
29.3 软件设计 ........................................................................................................ 328
29.4 下载验证 ........................................................................................................ 335
第三十章 PS2 鼠标实验 ......................................................................................... 337
30.1 PS/2 简介 ......................................................................................................... 338
30.2 硬件设计 ........................................................................................................ 340
30.3 软件设计 ........................................................................................................ 341
30.4 下载验证 ........................................................................................................ 350
第三十一章 FLASH 模拟 EEPROM 实验 .............................................................. 351
31.1 STM32 FLASH 简介 ...................................................................................... 352
31.2 硬件设计 ........................................................................................................ 356
31.3 软件设计 ........................................................................................................ 357
31.4 下载验证 ........................................................................................................ 363
第三十二章 内存管理实验 ...................................................................................... 364
32.1 内存管理简介 ................................................................................................ 365
32.2 硬件设计 ........................................................................................................ 366
32.3 软件设计 ........................................................................................................ 366
32.4 下载验证 ........................................................................................................ 372
第三十三章 SD 卡实验 .......................................................................................... 374
33.1 SD 卡简介 ....................................................................................................... 375
VIII