STM32F1 开发指南(库函数版)
ALIENTEK 战舰 STM32F103 V3 开发板教程
STM32F1 开发指南
V3.1 - 库函数版本
−ALIENTEK 战舰 STM32F103 开发板教程
I
STM32F1 开发指南(库函数版)
ALIENTEK 战舰 STM32F103 V3 开发板教程
广州市星翼电子科技有限公司
淘宝店铺 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
STM32F1 开发指南(库函数版)
ALIENTEK 战舰 STM32F103 V3 开发板教程
内容简介 ...................................................................................................................... 16
前言 .............................................................................................................................. 17
第一篇 硬件篇 ............................................................................................................ 19
第一章 实验平台简介 ................................................................................................ 20
1.1 ALIENTEK 战舰 STM32F103 资源初探 .......................................................... 20
1.2 ALIENTEK 战舰 STM32F103 资源说明 .......................................................... 22
1.2.1 硬件资源说明 ................................................................................................. 22
1.2.2 软件资源说明 ................................................................................................. 27
1.2.3 战舰 V3 IO 引脚分配 ..................................................................................... 28
1.3 ALIENTEK 战舰 STM32 V3.0 升级说明 ......................................................... 32
第二章 实验平台硬件资源详解 ................................................................................ 34
2.1 开发板原理图详解 ............................................................................................ 34
2.1.1 MCU ................................................................................................................. 34
2.1.2 引出 IO 口 ....................................................................................................... 36
2.1.3 USB 串口/串口 1 选择接口 ............................................................................ 36
2.1.4 JTAG/SWD ....................................................................................................... 37
2.1.5 SRAM ............................................................................................................... 37
2.1.6 LCD 模块接口 ................................................................................................. 38
2.1.7 复位电路 ......................................................................................................... 39
2.1.8 启动模式设置接口 ......................................................................................... 39
2.1.9 RS232 串口/JOYPAD 接口 ............................................................................. 40
2.1.10 RS485 接口 .................................................................................................... 40
2.1.11 CAN/USB 接口 .............................................................................................. 41
2.1.12 EEPROM ........................................................................................................ 42
2.1.13 光敏传感器 ................................................................................................... 42
2.1.14 SPI FLASH ..................................................................................................... 42
2.1.15 温湿度传感器接口 ....................................................................................... 43
2.1.16 红外接收头 ................................................................................................... 43
2.1.17 无线模块接口 ............................................................................................... 44
2.1.18 LED ................................................................................................................ 44
2.1.19 按键 ............................................................................................................... 45
2.1.20 TPAD 电容触摸按键 ..................................................................................... 45
III
STM32F1 开发指南(库函数版)
ALIENTEK 战舰 STM32F103 V3 开发板教程
2.1.21 OLED/摄像头模块接口 ................................................................................ 45
2.1.22 有源蜂鸣器 ................................................................................................... 46
2.1.23 SD 卡接口 ...................................................................................................... 47
2.1.24 ATK 模块接口 ................................................................................................ 47
2.1.25 多功能端口 ................................................................................................... 48
2.1.26 以太网接口(RJ45) ................................................................................... 49
2.1.27 耳机输出 ....................................................................................................... 50
2.1.28 板载喇叭 ....................................................................................................... 50
2.1.29 音频编解码 ................................................................................................... 51
2.1.30 电源 ............................................................................................................... 52
2.1.31 电源输入输出接口 ....................................................................................... 52
2.1.32 USB 串口 ....................................................................................................... 53
2.2 开发板使用注意事项 ......................................................................................... 54
2.3 STM32F103 学习方法 ........................................................................................ 54
第二篇 软件篇 ............................................................................................................ 56
第三章 MDK5 软件入门 ............................................................................................ 57
3.1 STM32 官方固件库简介 .................................................................................... 57
3.1.1 库开发与寄存器开发的关系 ........................................................................ 57
3.1.2 STM32 固件库与 CMSIS 标准讲解 ............................................................. 58
3.1.3 STM32 官方库包介绍 ................................................................................... 59
3.1.3.1 文件夹介绍: .............................................................................................. 60
3.1.3.2 关键文件介绍: .......................................................................................... 61
3.2 MDK5 简介 ......................................................................................................... 62
3.3 新建基于固件库的 MDK5 工程模板 ................................................................ 63
3.4 程序下载与调试 ................................................................................................. 85
3.4.1 STM32 软件仿真 ............................................................................................. 85
3.4.2 STM32 串口程序下载 ..................................................................................... 94
3.4.3 JTAG/SWD 程序下载和调试 .......................................................................... 99
3.5 MDK5 使用技巧 ............................................................................................... 104
3.5.1 文本美化 ....................................................................................................... 104
3.5.2 语法检测&代码提示 .................................................................................... 108
3.5.3 代码编辑技巧 ............................................................................................... 109
3.5.4 其他小技巧 ................................................................................................... 113
IV
STM32F1 开发指南(库函数版)
ALIENTEK 战舰 STM32F103 V3 开发板教程
第四章 STM32 开发基础知识入门 .......................................................................... 116
4.1 MDK 下 C 语言基础复习 ................................................................................ 116
4.1.1 位操作 ........................................................................................................... 116
4.1.2 define 宏定义 ................................................................................................. 117
4.1.3 ifdef 条件编译 ................................................................................................ 117
4.1.4 extern 变量申明 ............................................................................................. 118
4.1.5 typedef 类型别名 ........................................................................................... 119
4.1.6 结构体 ........................................................................................................... 119
4.2 STM32 系统架构 .............................................................................................. 121
4.3 STM32 时钟系统 .............................................................................................. 122
4.4 端口复用和重映射 .......................................................................................... 126
4.4.1 端口复用功能 ................................................................................................ 126
4.4.2 端口重映射 .................................................................................................... 127
4.5 STM32 NVIC 中断优先级管理 ....................................................................... 128
4.6 MDK 中寄存器地址名称映射分析 ................................................................. 131
4.7 MDK 固件库快速组织代码技巧 ..................................................................... 133
第五章 SYSTEM 文件夹介绍 ................................................................................. 139
5.1 delay 文件夹代码介绍 ..................................................................................... 139
5.1.1 操作系统支持宏定义及相关函数 ............................................................... 140
5.1.2delay_init 函数 ................................................................................................ 142
5.1.3 delay_us 函数 ................................................................................................. 143
5.1.4 delay_ms 函数 ................................................................................................ 145
5.2 sys 文件夹代码介绍 ......................................................................................... 146
5.2.1 IO 口的位操作实现 .................................................................................... 146
5.3 usart 文件夹介绍 .............................................................................................. 148
5.3.1 printf 函数支持 .............................................................................................. 148
5.3.2 uart_init 函数 .................................................................................................. 149
5.3.3 USART1_IRQHandler 函数........................................................................... 152
第三篇 实战篇 .......................................................................................................... 154
第六章 跑马灯实验 .................................................................................................. 155
6.1 STM32 IO 简介 ................................................................................................. 156
6.2 硬件设计 .......................................................................................................... 162
6.3 软件设计 .......................................................................................................... 163
V
STM32F1 开发指南(库函数版)
ALIENTEK 战舰 STM32F103 V3 开发板教程
6.4 仿真与下载 ...................................................................................................... 169
第七章 蜂鸣器实验 .................................................................................................. 172
7.1 蜂鸣器简介 ...................................................................................................... 173
7.2 硬件设计 .......................................................................................................... 173
7.3 软件设计 .......................................................................................................... 174
7.4 仿真与下载 ...................................................................................................... 176
第八章 按键输入实验 .............................................................................................. 178
8.1 STM32 IO 口简介 ............................................................................................. 179
8.2 硬件设计 .......................................................................................................... 179
8.3 软件设计 .......................................................................................................... 179
8.4 仿真与下载 ...................................................................................................... 182
第九章 串口实验 ...................................................................................................... 187
9.1 STM32 串口简介 .............................................................................................. 188
9.2 硬件设计 .......................................................................................................... 190
9.3 软件设计 .......................................................................................................... 191
9.4 下载验证 .......................................................................................................... 194
第十章 外部中断实验 .............................................................................................. 197
10.1 STM32 外部中断简介 .................................................................................... 198
10.2 硬件设计 ........................................................................................................ 201
10.3 软件设计 ........................................................................................................ 201
10.4 下载验证 ........................................................................................................ 203
第十一章 独立看门狗(IWDG)实验 ................................................................... 204
11.1 STM32 独立看门狗简介 ................................................................................ 205
11.2 硬件设计 ........................................................................................................ 206
11.3 软件设计 ........................................................................................................ 206
11.4 下载验证 ........................................................................................................ 208
第十二章 窗口门狗(WWDG)实验 ..................................................................... 209
12.1 STM32F1 窗口看门狗简介 ............................................................................ 210
12.2 硬件设计 ........................................................................................................ 212
12.3 软件设计 ........................................................................................................ 212
12.4 下载验证 ........................................................................................................ 214
第十三章 定时器中断实验 ...................................................................................... 215
VI
STM32F1 开发指南(库函数版)
ALIENTEK 战舰 STM32F103 V3 开发板教程
13.1 STM32 通用定时器简介 ................................................................................ 216
13.2 硬件设计 ........................................................................................................ 221
13.3 软件设计 ........................................................................................................ 221
13.4 下载验证 ........................................................................................................ 223
第十四章 PWM 输出实验 ........................................................................................ 224
14.1 PWM 简介 ....................................................................................................... 225
14.2 硬件设计 ........................................................................................................ 228
14.3 软件设计 ........................................................................................................ 228
14.4 下载验证 ........................................................................................................ 230
第十五章 输入捕获实验 .......................................................................................... 231
15.1 输入捕获简介 ................................................................................................ 232
15.2 硬件设计 ........................................................................................................ 236
15.3 软件设计 ........................................................................................................ 236
15.4 下载验证 ........................................................................................................ 240
第十六章 电容触摸按键实验 .................................................................................. 241
16.1 电容触摸按键简介 ........................................................................................ 242
16.2 硬件设计 ........................................................................................................ 243
16.3 软件设计 ........................................................................................................ 243
16.4 下载验证 ........................................................................................................ 248
第十七章 OLED 显示实验 ...................................................................................... 249
17.1 OLED 简介 ..................................................................................................... 250
17.2 硬件设计 ........................................................................................................ 256
17.3 软件设计 ........................................................................................................ 257
17.4 下载验证 ........................................................................................................ 264
第十八章 TFTLCD 显示实验 .................................................................................. 266
18.1 TFTLCD&FSMC 简介 ................................................................................... 267
18.1.1 TFTLCD 简介 .............................................................................................. 267
18.1.2 FSMC 简介 .................................................................................................. 272
18.2 硬件设计 ........................................................................................................ 281
18.3 软件设计 ........................................................................................................ 282
18.4 下载验证 ........................................................................................................ 293
第十九章 USMART 调试组件实验 ......................................................................... 294
19.1 USMART 调试组件简介 ................................................................................ 295
VII
STM32F1 开发指南(库函数版)
ALIENTEK 战舰 STM32F103 V3 开发板教程
19.2 硬件设计 ........................................................................................................ 298
19.3 软件设计 ........................................................................................................ 298
19.4 下载验证 ........................................................................................................ 302
第二十章 RTC 实时时钟实验 .................................................................................. 306
20.1 STM32F1 RTC 时钟简介 ............................................................................... 307
20.2 硬件设计 ........................................................................................................ 313
20.3 软件设计 ........................................................................................................ 313
20.4 下载验证 ........................................................................................................ 320
第二十一章 待机唤醒实验 ...................................................................................... 321
21.1 STM32 待机模式简介 .................................................................................... 322
21.2 硬件设计 ........................................................................................................ 325
21.3 软件设计 ........................................................................................................ 325
21.4 下载与测试 .................................................................................................... 328
第二十二章 ADC 实验 ............................................................................................. 329
22.1 STM32 ADC 简介 .......................................................................................... 330
22.2 硬件设计 ........................................................................................................ 338
22.3 软件设计 ........................................................................................................ 338
22.4 下载验证 ........................................................................................................ 341
第二十三章 内部温度传感器实验 .......................................................................... 342
23.1 STM32 内部温度传感器简介 ....................................................................... 343
23.2 硬件设计 ........................................................................................................ 343
23.3 软件设计 ........................................................................................................ 343
23.4 下载验证 ........................................................................................................ 346
第二十四章 光敏传感器实验 .................................................................................. 347
24.1 光敏传感器简介 ............................................................................................ 348
24.2 硬件设计 ........................................................................................................ 348
24.3 软件设计 ........................................................................................................ 349
24.4 下载验证 ........................................................................................................ 350
第二十五章 DAC 实验 ............................................................................................. 351
25.1 STM32 DAC 简介 .......................................................................................... 352
25.2 硬件设计 ........................................................................................................ 356
25.3 软件设计 ........................................................................................................ 357
25.4 下载验证 ........................................................................................................ 360
VIII