神舟 I 号用户手册
嵌入式专业技术论坛 (www.armjishu.com
STM32 从入门到精通
2012年3月版本 V2.0 作者:jesse
STM32神舟系列开发板产品目录:
【神舟 I 号:STM32F103RBT6 + 2.8"TFT 触摸彩屏】
神舟 II号:STM32F103VCT6 + 3.2"TFT 触摸彩屏
神舟III号:STM32F103ZET6 + 3.2"TFT 触摸彩屏
神舟 IV号:STM32F107VCT6 + 3.2"TFT 触摸彩屏
神舟STM32核心板:四层核心板(STM32F103ZET6+STM32F107VCT6)
神舟王:STM32F103/107核心板(底板不变,主芯片可灵活搭配) + 超全
功能底板(支持MP3,以太网,收音机,无线,SRAM,Nor/Nand flash,鼠标,
键盘,红外接收,CAN,温度传感,示波器,电压表,USB HOST,步进电机等)
)出品 第 1 页,共 291 页
神舟 I 号用户手册
嵌入式专业技术论坛 (www.armjishu.com)出品 第 3 页,共 291 页
目 录
前言必读(文档结构与快速入门) ...................................................................................................................... 8
第 0 章 入门了解篇 ................................................................................................................................................ 8
0.1 STM32 嵌入式入门必看之文章(学习STM32 的理由!!!!) ................................................................ 8
0.2 如何从零开始开发一款嵌入式产品(20 年的嵌入式经验分享学习神舟系列)............................... 10
0.2.1
需求定义
.............................................................................................................................................. 10
0.2.2
处理器的选择
.................................................................................................................................... 12
0.2.3
开发成本的预测和估计
.................................................................................................................... 16
0.2.4
产品开发设计文档(需要包括硬件和软件两个方面)
................................................................ 16
0.2.5
嵌入式高手对技术的理解(含辛茹苦这么多年的精华体验)
....................................................... 18
第 1 章 STM32F103RBT硬件体系结构 ............................................................................................................. 19
1.1 STM32RBT简介 .......................................................................................................................................... 19
1.1.1.
特性
............................................................................................................................................... 19
1.1.2.
器件信息
....................................................................................................................................... 20
1.1.3.
结构
............................................................................................................................................... 21
1.2 引脚描述...................................................................................................................................................... 22
1.2.1 STM32
引脚封装
................................................................................................................................... 22
1.2.2 STM32
引脚描述
................................................................................................................................... 22
1.3 系统控制模块 .............................................................................................................................................. 26
1.3.1
系统控制模块功能汇总
...................................................................................................................... 26
1.3.2
引脚描述
.............................................................................................................................................. 26
1.3.3
寄存器描述
.......................................................................................................................................... 26
1.3.4
复位
...................................................................................................................................................... 26
1.4 时钟系统...................................................................................................................................................... 33
1.4.1
时钟系统分析
...................................................................................................................................... 34
1.4.2
寄存器描述
.......................................................................................................................................... 38
1.4.3
振荡器(
STM32
内部有
RC
做振荡器,外部有晶振做振荡器)
..................................................... 38
1.6 存储器寻址.................................................................................................................................................. 39
第 2 章 神舟I号开发套件硬件结构..................................................................................................................... 42
2.1 电路原理图.................................................................................................................................................. 42
2.2 功能特点...................................................................................................................................................... 43
2.3 神舟I号开发板硬件电路分析..................................................................................................................... 45
2.3.1 STM32F103RBT6
处理器
.................................................................................................................. 45
2.3.2 LED
指示灯
........................................................................................................................................ 48
2.3.3
普通按键与复位按键
................................................................................................................... 49
2.3.4 USB
接口
............................................................................................................................................ 50
2.3.5 USB
转串口接口
................................................................................................................................51
2.3.6
供电电源
....................................................................................................................................... 52
2.3.7 RTC
实时时钟
.................................................................................................................................... 53
2.3.8
电位器(
ADC
介绍)
................................................................................................................... 55
2.3.9 EEPROM
存储器(
IIC
接口控制)
.................................................................................................. 55
2.3.10 W25X16 16M SPI FLASH
(
LCD
屏上安装)
.............................................................................. 56
2.3.11 MicroSD
卡接口
............................................................................................................................. 57
2.3.12 JTAG
调试接口
.............................................................................................................................. 59
2.3.13
液晶显示模块
............................................................................................................................... 61
2.3.14
温度传感器
................................................................................................................................... 62
2.3.15 315M
无线模块
.............................................................................................................................. 63
2.3.16 2.4G
无线模块
............................................................................................................................... 64
神舟 I 号用户手册
嵌入式专业技术论坛 (www.armjishu.com)出品 第 4 页,共 291 页
2.3.17
液晶屏
........................................................................................................................................... 65
2.3.18
其他扩展接口
............................................................................................................................... 65
2.4 硬件结构说明........................................................................................................................................ 67
2.5 连接器说明............................................................................................................................................ 68
2.6 硬件资源分配........................................................................................................................................ 70
2.6.1
处理器连接外围器件管脚分配
.................................................................................................... 70
2.7 STM32 系列ARM最小系统设计.......................................................................................................... 72
第 3 章 其他篇 ...................................................................................................................................................... 79
3.1 液晶屏显示屏入门................................................................................................................................79
3.2 液晶屏底板设计说明............................................................................................................................ 80
第 4 章 STM32 神舟I号基本操作篇 ................................................................................................................... 81
4.1 简介........................................................................................................................................................ 81
4.2 MDK 4.12 集成开发环境的组成.......................................................................................................... 81
4.3 安装MDK的流程步骤 .......................................................................................................................... 81
4.4 工程的编辑............................................................................................................................................ 82
4.4.1
建立工程
....................................................................................................................................... 82
4.4.2
建立文件
....................................................................................................................................... 85
4.4.3
添加文件到工程
........................................................................................................................... 86
4.4.4
管理工程目录以及源文件
............................................................................................................ 88
4.4.5
编译和连接工程
........................................................................................................................... 91
4.4.6
打开旧工程
................................................................................................................................... 93
4.5 RVMDK使用技巧 ................................................................................................................................. 95
2.3.1.
快速定位函数
/
变量被定义的地方
.............................................................................................. 95
2.3.2.
快速注释与快速消注释
............................................................................................................... 96
2.3.3.
快速打开头文件
........................................................................................................................... 96
4.6 JLINK V8 仿真器的安装与应用 .......................................................................................................... 97
4.6.1 JLINK V8
仿真器简介
....................................................................................................................... 98
4.6.2 JLINK ARM
主要特点
........................................................................................................................ 98
4.6.3 JLINK V8
仿真器安装
....................................................................................................................... 98
4.6.4 JLINK V8
仿真器配置(
MDK KEIL
环境)
.................................................................................. 100
4.6.5 JLINK V8
仿真器配置(
IAR
环境)
............................................................................................. 106
4.6.6 J-FLASH
如何烧写固件到芯片
FLASH
里
........................................................................................110
4.6.7 JLINK Commander
工具查看相关信息
...........................................................................................114
4.6.8 JLINK V8
仿真器如何自动升级
......................................................................................................115
4.7 在MDK开发环境中JLINK V8 的调试技巧........................................................................................117
4.8 如何通过串口下载一个固件到神舟I号开发板..................................................................................119
4.9 从零开始新建一个STM32 的工程模板............................................................................................. 128
4.10 何给神舟I号板供电 ............................................................................................................................ 146
4.10.1
使用
USB
供电
.............................................................................................................................. 146
4.10.2
使用
USB
转串口接口供电
.......................................................................................................... 146
4.10.3
使用
JLINK V8
供电
.................................................................................................................... 147
4.11 烧录固件程序的三种方法.................................................................................................................. 147
4.12 如何编译和运行光盘里的第一个程序: .......................................................................................... 148
4.13 如何用JLINK V8 仿真和调试第一个程序: .................................................................................... 152
第 5 章 STM32 神舟I号快速入门篇 ................................................................................................................. 156
5.1 理解芯片控制的原理................................................................................................................................156
5.2 芯片管脚控制LED灯原理图解释 ............................................................................................................ 156
5.3 芯片管脚控制原理(如何阅读芯片手册)............................................................................................ 157
5.4 实际例程详解............................................................................................................................................ 161
5.4.1
原理图说明
........................................................................................................................................ 161
5.4.2
超级简单的例程结构(只有一个
main.c
文件)
.............................................................................. 161
神舟 I 号用户手册
嵌入式专业技术论坛 (www.armjishu.com)出品 第 5 页,共 291 页
5.4.3 main.c
全部代码粘贴:
...................................................................................................................... 162
5.4.4
程序初始化代码定义说明(包含芯片手册阅读方法)
................................................................. 164
5.4.5
程序代码的
struct
与芯片手册寄存器如何对应
............................................................................... 166
5.4.6 C
语言程序代码如何真正访问芯片内部寄存器
............................................................................... 166
5.4.7 mian
函数剖析
..................................................................................................................................... 168
5.4.8
库函数与我们这个例程之间的关系
................................................................................................ 169
第 6 章 STM32 神舟I号功能部件基础篇 ......................................................................................................... 169
6.1 STM32 神舟I号实验例程结构 ........................................................................................................... 169
6.2 通用输入/输出(GPIO) ................................................................................................................... 171
6.2.1
特性
............................................................................................................................................. 171
6.2.2
应用领域
..................................................................................................................................... 171
6.2.3
管脚描述
..................................................................................................................................... 172
6.2.4
功能描述
..................................................................................................................................... 172
6.2.5
寄存器描述
................................................................................................................................. 178
6.2.6
寄存器小结
................................................................................................................................. 182
6.2.7
例程
01
单个
LED
点灯程序
....................................................................................................... 182
6.2.8
例程
02
单个
LED
灯闪烁
........................................................................................................... 184
6.2.9
例程
03 LED
流水灯程序
............................................................................................................ 185
6.3 KEY_LED按键与 315M无线模块实验 ............................................................................................. 187
6.2.1
实验的意义与作用
..................................................................................................................... 187
6.2.2
实验原理
..................................................................................................................................... 187
6.2.3
硬件设计
..................................................................................................................................... 188
6.2.4
软件设计
..................................................................................................................................... 188
6.2.5
下载与测试
................................................................................................................................. 192
6.3 USART-COM串口发送实验............................................................................................................... 193
6.3.1
实验的意义与作用
..................................................................................................................... 193
6.3.2
实验原理
..................................................................................................................................... 193
6.3.3
硬件设计
..................................................................................................................................... 195
6.3.4
软件设计
..................................................................................................................................... 195
6.3.5
下载与现象
................................................................................................................................. 197
6.4 USART-COM串口发送与接收实验................................................................................................... 200
6.4.1
验的意义与作用
......................................................................................................................... 200
6.4.2
实验原理
..................................................................................................................................... 200
6.4.3
硬件设计
..................................................................................................................................... 200
6.4.4
软件设计
..................................................................................................................................... 200
6.4.5
下载与现象
................................................................................................................................. 202
6.5 ADC模数转换实验 ............................................................................................................................. 203
6.5.1
实验的意义与作用
..................................................................................................................... 203
6.5.2
实验原理
..................................................................................................................................... 203
6.5.3
硬件设计
..................................................................................................................................... 204
6.5.4
软件设计
..................................................................................................................................... 204
6.5.5
下载与现象
................................................................................................................................. 206
6.6 EEPROM读写程序实验...................................................................................................................... 207
6.6.1
实验的意义与作用
..................................................................................................................... 207
6.6.2
试验原理
..................................................................................................................................... 207
6.6.3
硬件设计
..................................................................................................................................... 208
6.6.4
软件设计
..................................................................................................................................... 209
6.6.5
下载与测试
................................................................................................................................. 212
6.7 SPI FLASH(W25X16)读写程序实验 ............................................................................................ 213
6.7.1 SPI FLASH
(
W25X16
)读写程序实验的意义与作用
................................................................. 213
6.7.2
实验原理
..................................................................................................................................... 213
6.7.3
硬件设计
..................................................................................................................................... 216
6.7.4
软件设计
..................................................................................................................................... 216