logo资料库

STM32F1开发指南(精英版)-HAL库版本_V1.0.pdf

第1页 / 共742页
第2页 / 共742页
第3页 / 共742页
第4页 / 共742页
第5页 / 共742页
第6页 / 共742页
第7页 / 共742页
第8页 / 共742页
资料共742页,剩余部分请下载后查看
内容简介
前言
第一篇 硬件篇
第一章 实验平台简介
1.1 ALIENTEK精英STM32F103资源初探
1.2 ALIENTEK精英STM32F103资源说明
1.2.1 硬件资源说明
1.2.2 软件资源说明
1.2.3 精英板IO引脚分配
1.3 ALIENTEK精英板与战舰板 V3.0对比
第二章 实验平台硬件资源详解
2.1 开发板原理图详解
2.1.1 MCU
2.1.2 引出IO口
2.1.3 USB串口/串口1选择接口
2.1.4 JTAG/SWD
2.1.5 LCD模块接口
2.1.6 复位电路
2.1.7 启动模式设置接口
2.1.8 R485选择接口
2.1.9 RS485接口
2.1.10 CAN/USB接口
2.1.11 EEPROM
2.1.12 光敏传感器
2.1.13 SPI FLASH
2.1.14 温湿度传感器接口
2.1.15 红外接收头
2.1.16 无线模块接口
2.1.17 LED
2.1.18 按键
2.1.19 TPAD电容触摸按键
2.1.20 OLED/摄像头模块接口
2.1.21 有源蜂鸣器
2.1.22 SD卡接口
2.1.23 ATK模块接口
2.1.24 AD/DA组合接口
2.1.25 电源
2.1.26 电源输入输出接口
2.1.27 USB串口
2.2开发板使用注意事项
2.3 STM32F103学习方法
第二篇 软件篇
第三章 MDK5软件入门
3.1 MDK5简介
3.2 STM32CubeF1简介
3.2.1 库开发与寄存器开发的关系
3.2.2 STM32CubeF1固件包介绍
3.2.3 HAL库和标准库选择
3.3 新建基于HAL库的工程模板和工程结构讲解
3.3.1 新建基于HAL库工程模板
3.3.2工程模板解读
3.3.2.1 关键文件介绍
3.3.2.2 HAL库中__weak修饰符讲解
3.3.2.3 Msp回调函数执行过程解读
3.3.2.4 程序执行流程图
3.4 程序下载与调试
3.4.1 STM32串口程序下载
3.4.2 使用ST-LINK下载与调试程序
3.5 MDK5使用技巧
3.5.1 文本美化
3.5.2 语法检测&代码提示
3.5.3 代码编辑/查看技巧
3.5.4 其他小技巧
第四章 STM32F1基础知识入门
4.1 MDK下C语言基础复习
4.1.1 位操作
4.1.2 define宏定义
4.1.3# ifdef和 #if defined条件编译
4.1.4 extern变量申明
4.1.5 typedef类型别名
4.1.6 结构体
4.2 STM32F1系统架构
4.3 STM32F103时钟系统
4.3.1 STM32F103时钟树概述
4.3.2 STM32F103时钟系统配置
4.3.3 STM32F1时钟使能和配置
4.4 端口复用和重映射
4.5 STM32 NVIC中断优先级管理
4.6 HAL库中寄存器地址名称映射分析
4.7 MDK中使用HAL库快速组织代码技巧
第五章 SYSTEM文件夹介绍
5.1 delay文件夹代码介绍
5.1.1 操作系统支持宏定义及相关函数
5.1.2 delay_init函数
5.1.3 delay_us函数
5.1.4 delay_ms函数
5.1.5 HAL库延时函数HAL_Delay解析
5.2 sys文件夹代码介绍
5.2.1 IO口的位操作实现
5.3 usart文件夹介绍
5.3.1 printf函数支持
第三篇 实战篇
第六章 跑马灯实验
6.1 STM32F1 IO简介
6.2 硬件设计
6.3 软件设计
6.4 下载验证
第七章 蜂鸣器实验
7.1 蜂鸣器简介
7.2 硬件设计
7.3 软件设计
7.4 下载验证
第八章 按键输入实验
8.1 STM32F1 IO口简介
8.2 硬件设计
8.3 软件设计
8.4下载验证
第九章 串口通信实验
9.1 STM32F1串口简介
9.2 硬件设计
9.3 软件设计
9.4 下载验证
第十章 外部中断实验
10.1 STM32F1外部中断简介
10.2 硬件设计
10.3 软件设计
10.4 下载验证
第十一章 独立看门狗(IWDG)实验
11.1 STM32F1独立看门狗简介
11.2 硬件设计
11.3 软件设计
11.4 下载验证
第十二章 窗口门狗(WWDG)实验
12.1 STM32F1窗口看门狗简介
12.2 硬件设计
12.3 软件设计
12.4 下载验证
第十三章 定时器中断实验
13.1 STM32F1通用定时器简介
13.2 硬件设计
13.3 软件设计
13.4 下载验证
第十四章 PWM输出实验
14.1 PWM简介
14.2 硬件设计
14.3 软件设计
14.4 下载验证
第十五章 输入捕获实验
15.1 输入捕获简介
15.2 硬件设计
15.3 软件设计
15.4 下载验证
第十六章 电容触摸按键实验
16.1 电容触摸按键简介
16.2 硬件设计
16.3 软件设计
16.4 下载验证
第十七章 OLED显示实验
17.1 OLED简介
17.2 硬件设计
17.3 软件设计
17.4 下载验证
第十八章 TFTLCD显示实验
18.1 TFTLCD&FSMC简介
18.1.1 TFTLCD简介
18.1.2 FSMC简介
18.2 硬件设计
18.3 软件设计
18.4 下载验证
第十九章 USMART调试组件实验
19.1 USMART调试组件简介
19.2 硬件设计
19.3 软件设计
19.4 下载验证
第二十章 RTC实时时钟实验
20.1 STM32F1 RTC时钟简介
20.2 硬件设计
20.3 软件设计
20.4 下载验证
第二十一章 待机唤醒实验
21.1 STM32F1待机模式简介
21.2 硬件设计
21.3 软件设计
21.4 下载与测试
第二十二章 ADC实验
22.1 STM32F1 ADC简介
22.2 硬件设计
22.3 软件设计
22.4 下载验证
第二十三章 内部温度传感器实验
23.1 STM32F1 内部温度传感器简介
23.2 硬件设计
23.3 软件设计
23.4 下载验证
第二十四章 光敏传感器实验
24.1 光敏传感器简介
24.2 硬件设计
24.3 软件设计
24.4 下载验证
第二十五章 DAC实验
25.1 STM32F1 DAC简介
25.2 硬件设计
25.3 软件设计
25.4 下载验证
第二十六章 DMA实验
26.1 STM32F1 DMA简介
26.2 硬件设计
26.3 软件设计
26.4 下载验证
第二十七章 IIC实验
27.1 IIC简介
27.2 硬件设计
27.3 软件设计
27.4 下载验证
第二十八章 SPI 实验
28.1 SPI 简介
28.2 硬件设计
28.3 软件设计
28.4 下载验证
第二十九章 485 实验
29.1 485 简介
29.2 硬件设计
29.3 软件设计
29.4 下载验证
第三十章 CAN通讯实验
30.1 CAN简介
30.2 硬件设计
30.3 软件设计
30.4 下载验证
第三十一章 触摸屏实验
31.1 触摸屏简介
31.1.1电阻式触摸屏
31.1.2电容式触摸屏
31.2 硬件设计
31.3 软件设计
31.4 下载验证
第三十二章 红外遥控实验
32.1红外遥控简介
32.2 硬件设计
32.3 软件设计
32.4 下载验证
第三十三章 DS18B20数字温度传感器实验
33.1 DS18B20简介
33.2 硬件设计
33.3 软件设计
33.4 下载验证
第三十四章 DHT11数字温湿度传感器实验
34.1 DHT11简介
34.2 硬件设计
34.3 软件设计
34.4 下载验证
第三十五章 MPU6050六轴传感器实验
35.1 MPU6050简介
35.1.1 MPU6050基础介绍
35.1.2 DMP使用简介
35.2 硬件设计
35.3 软件设计
35.4 下载验证
第三十六章 无线通信实验
36.1 NRF24L01无线模块简介
36.2 硬件设计
36.3 软件设计
36.4 下载验证
第三十七章 FLASH模拟EEPROM实验
37.1 STM32 FLASH简介
37.2 硬件设计
37.3 软件设计
37.4 下载验证
第三十八章 摄像头实验
38.1 OV7725简介
38.2 硬件设计
38.3 软件设计
38.4 下载验证
第三十九章 内存管理实验
39.1 内存管理简介
39.2 硬件设计
39.3 软件设计
39.4 下载验证
第四十章 SD卡实验
40.1 SDIO简介
40.1.1 SDIO主要功能及框图
40.1.2 SDIO的时钟
40.1.3 SDIO的命令与响应
40.1.4 SDIO相关寄存器介绍
40.1.5 SD卡初始化流程
40.2 硬件设计
40.3 软件设计
40.4 下载验证
第四十一章 FATFS实验
41.1 FATFS简介
41.2 硬件设计
41.3 软件设计
41.4 下载验证
第四十二章 汉字显示实验
42.1 汉字显示原理简介
42.2 硬件设计
42.3 软件设计
42.4 下载验证
第四十三章 图片显示实验
43.1 图片格式简介
43.2 硬件设计
43.3 软件设计
43.4 下载验证
第四十四章 照相机实验
44.1 BMP编码简介
44.2 硬件设计
44.3 软件设计
44.4 下载验证
第四十五章 手写识别实验
45.1 手写识别简介
45.2 硬件设计
45.3 软件设计
45.4 下载验证
第四十六章 T9拼音输入法实验
46.1 拼音输入法简介
46.2 硬件设计
46.3 软件设计
46.4 下载验证
第四十七章 串口IAP实验
47.1 IAP简介
47.2 硬件设计
47.3 软件设计
47.4 下载验证
第四十八章 USB虚拟串口实验
48.1 USB简介
48.2 硬件设计
48.3 软件设计
48.4 下载验证
第四十九章 USB读卡器实验
49.1 USB读卡器简介
49.2 硬件设计
49.3 软件设计
49.4 下载验证
第五十章 UCOSII实验1-任务调度
50.1 UCOSII简介
50.2 硬件设计
50.3 软件设计
50.4 下载验证
50.5 任务删除,挂起和恢复测试
第五十一章 UCOSII实验2-信号量和邮箱
51.1 UCOSII信号量和邮箱简介
51.2 硬件设计
51.3 软件设计
51.4 下载验证
第五十二章 UCOSII实验3-消息队列、信号量集和软件定时器
52.1 UCOSII消息队列、信号量集和软件定时器简介
52.2 硬件设计
52.3 软件设计
52.4 下载验证
STM32F1 开发指南(精英板-HAL 库版) ALIENTEK 精英 STM32F103 开发板教程 STM32F1 开发指南 V1.0(精英板-HAL 库版本) −ALIENTEK 精英 STM32F103 开发板教程 I
STM32F1 开发指南(精英板-HAL 库版) ALIENTEK 精英 STM32F103 开发板教程 广州市星翼电子科技有限公司 淘宝店铺 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 开发指南(精英板-HAL 库版) ALIENTEK 精英 STM32F103 开发板教程 内容简介 ........................................................................................................................ I 前言 ................................................................................................................................ 2 第一篇 硬件篇 .............................................................................................................. 4 第一章 实验平台简介 .................................................................................................. 5 1.1 ALIENTEK 精英 STM32F103 资源初探 ............................................................ 5 1.2 ALIENTEK 精英 STM32F103 资源说明 ............................................................ 7 1.2.1 硬件资源说明 ................................................................................................... 7 1.2.2 软件资源说明 ................................................................................................. 11 1.2.3 精英板 IO 引脚分配 ....................................................................................... 12 1.3 ALIENTEK 精英板与战舰板 V3.0 对比 .......................................................... 15 第二章 实验平台硬件资源详解 ................................................................................ 17 2.1 开发板原理图详解 ............................................................................................ 17 2.1.1 MCU ................................................................................................................. 17 2.1.2 引出 IO 口 ....................................................................................................... 19 2.1.3 USB 串口/串口 1 选择接口 ............................................................................ 19 2.1.4 JTAG/SWD ....................................................................................................... 20 2.1.5 LCD 模块接口 ................................................................................................. 20 2.1.6 复位电路 ......................................................................................................... 21 2.1.7 启动模式设置接口 ......................................................................................... 21 2.1.8 R485 选择接口 ................................................................................................ 22 2.1.9 RS485 接口 ...................................................................................................... 22 2.1.10 CAN/USB 接口 .............................................................................................. 22 2.1.11 EEPROM ........................................................................................................ 23 2.1.12 光敏传感器 ................................................................................................... 23 2.1.13 SPI FLASH ..................................................................................................... 24 2.1.14 温湿度传感器接口 ....................................................................................... 24 2.1.15 红外接收头 ................................................................................................... 25 2.1.16 无线模块接口 ............................................................................................... 25 2.1.17 LED ................................................................................................................ 25 2.1.18 按键 ............................................................................................................... 26 2.1.19 TPAD 电容触摸按键 ..................................................................................... 26 III
STM32F1 开发指南(精英板-HAL 库版) ALIENTEK 精英 STM32F103 开发板教程 2.1.20 OLED/摄像头模块接口 ................................................................................ 27 2.1.21 有源蜂鸣器 ................................................................................................... 27 2.1.22 SD 卡接口 ...................................................................................................... 28 2.1.23 ATK 模块接口 ................................................................................................ 28 2.1.24 AD/DA 组合接口 ........................................................................................... 29 2.1.25 电源 ............................................................................................................... 29 2.1.26 电源输入输出接口 ....................................................................................... 30 2.1.27 USB 串口 ....................................................................................................... 30 2.2 开发板使用注意事项 ......................................................................................... 31 2.3 STM32F103 学习方法 ........................................................................................ 32 第二篇 软件篇 ............................................................................................................ 34 第三章 MDK5 软件入门 ............................................................................................ 35 3.1 MDK5 简介 ......................................................................................................... 35 3.2 STM32CubeF1 简介 .......................................................................................... 36 3.2.1 库开发与寄存器开发的关系 ....................................................................... 36 3.2.2 STM32CubeF1 固件包介绍 ......................................................................... 37 3.2.3 HAL 库和标准库选择 ................................................................................. 39 3.3 新建基于 HAL 库的工程模板和工程结构讲解 ............................................. 39 3.3.1 新建基于 HAL 库工程模板 .......................................................................... 39 3.3.2 工程模板解读 .................................................................................................. 60 3.3.2.1 关键文件介绍 .............................................................................................. 60 3.3.2.2 HAL 库中__weak 修饰符讲解 ................................................................... 62 3.3.2.3 Msp 回调函数执行过程解读 ...................................................................... 63 3.3.2.4 程序执行流程图 .......................................................................................... 64 3.4 程序下载与调试 ................................................................................................ 66 3.4.1 STM32 串口程序下载 .................................................................................... 66 3.4.2 使用 ST-LINK 下载与调试程序 ................................................................... 71 3.5 MDK5 使用技巧 ................................................................................................ 77 3.5.1 文本美化 ......................................................................................................... 77 3.5.2 语法检测&代码提示 ...................................................................................... 80 3.5.3 代码编辑/查看技巧 ........................................................................................ 82 3.5.4 其他小技巧 ..................................................................................................... 86 第四章 STM32F1 基础知识入门 .............................................................................. 88 IV
STM32F1 开发指南(精英板-HAL 库版) ALIENTEK 精英 STM32F103 开发板教程 4.1 MDK 下 C 语言基础复习 ................................................................................. 88 4.1.1 位操作 ............................................................................................................. 88 4.1.2 define 宏定义 ................................................................................................... 89 4.1.3# ifdef 和 #if defined 条件编译 ...................................................................... 89 4.1.4 extern 变量申明 .............................................................................................. 90 4.1.5 typedef 类型别名 ............................................................................................ 91 4.1.6 结构体 ............................................................................................................. 91 4.2 STM32F1 系统架构 ........................................................................................... 93 4.3 STM32F103 时钟系统 ....................................................................................... 94 4.3.1 STM32F103 时钟树概述 ................................................................................ 94 4.3.2 STM32F103 时钟系统配置 ............................................................................ 96 4.3.3 STM32F1 时钟使能和配置 .......................................................................... 100 4.4 端口复用和重映射 .......................................................................................... 101 4.5 STM32 NVIC 中断优先级管理 ...................................................................... 102 4.6 HAL 库中寄存器地址名称映射分析 ............................................................. 106 4.7 MDK 中使用 HAL 库快速组织代码技巧 ..................................................... 108 第五章 SYSTEM 文件夹介绍 ................................................................................. 113 5.1 delay 文件夹代码介绍 ..................................................................................... 113 5.1.1 操作系统支持宏定义及相关函数 ............................................................... 114 5.1.2 delay_init 函数 .............................................................................................. 116 5.1.3 delay_us 函数 ................................................................................................ 117 5.1.4 delay_ms 函数 ............................................................................................... 119 5.1.5 HAL 库延时函数 HAL_Delay 解析 ............................................................ 120 5.2 sys 文件夹代码介绍 ......................................................................................... 122 5.2.1 IO 口的位操作实现 ................................................................................... 122 5.3 usart 文件夹介绍 ............................................................................................. 123 5.3.1 printf 函数支持 ............................................................................................. 124 第三篇 实战篇 .......................................................................................................... 125 第六章 跑马灯实验 .................................................................................................. 126 6.1 STM32F1 IO 简介 ............................................................................................ 127 6.2 硬件设计 .......................................................................................................... 132 6.3 软件设计 .......................................................................................................... 132 6.4 下载验证 .......................................................................................................... 140 V
STM32F1 开发指南(精英板-HAL 库版) ALIENTEK 精英 STM32F103 开发板教程 第七章 蜂鸣器实验 .................................................................................................. 142 7.1 蜂鸣器简介 ...................................................................................................... 143 7.2 硬件设计 .......................................................................................................... 143 7.3 软件设计 .......................................................................................................... 144 7.4 下载验证 .......................................................................................................... 146 第八章 按键输入实验 .............................................................................................. 147 8.1 STM32F1 IO 口简介 ........................................................................................ 148 8.2 硬件设计 .......................................................................................................... 148 8.3 软件设计 .......................................................................................................... 148 8.4 下载验证 ........................................................................................................... 152 第九章 串口通信实验 .............................................................................................. 153 9.1 STM32F1 串口简介 .......................................................................................... 154 9.2 硬件设计 .......................................................................................................... 159 9.3 软件设计 .......................................................................................................... 160 9.4 下载验证 .......................................................................................................... 167 第十章 外部中断实验 .............................................................................................. 170 10.1 STM32F1 外部中断简介 ................................................................................ 171 10.2 硬件设计 ........................................................................................................ 173 10.3 软件设计 ........................................................................................................ 173 10.4 下载验证 ........................................................................................................ 176 第十一章 独立看门狗(IWDG)实验 ................................................................... 177 11.1 STM32F1 独立看门狗简介 ............................................................................ 178 11.2 硬件设计 ........................................................................................................ 181 11.3 软件设计 ........................................................................................................ 181 11.4 下载验证 ........................................................................................................ 182 第十二章 窗口门狗(WWDG)实验 ..................................................................... 183 12.1 STM32F1 窗口看门狗简介 ............................................................................ 184 12.2 硬件设计 ........................................................................................................ 187 12.3 软件设计 ........................................................................................................ 187 12.4 下载验证 ........................................................................................................ 189 第十三章 定时器中断实验 ...................................................................................... 190 13.1 STM32F1 通用定时器简介 ............................................................................ 191 VI
STM32F1 开发指南(精英板-HAL 库版) ALIENTEK 精英 STM32F103 开发板教程 13.2 硬件设计 ........................................................................................................ 195 13.3 软件设计 ........................................................................................................ 195 13.4 下载验证 ........................................................................................................ 198 第十四章 PWM 输出实验 ........................................................................................ 199 14.1 PWM 简介 ....................................................................................................... 200 14.2 硬件设计 ........................................................................................................ 204 14.3 软件设计 ........................................................................................................ 204 14.4 下载验证 ........................................................................................................ 207 第十五章 输入捕获实验 .......................................................................................... 208 15.1 输入捕获简介 ................................................................................................ 209 15.2 硬件设计 ........................................................................................................ 214 15.3 软件设计 ........................................................................................................ 214 15.4 下载验证 ........................................................................................................ 218 第十六章 电容触摸按键实验 .................................................................................. 220 16.1 电容触摸按键简介 ........................................................................................ 221 16.2 硬件设计 ........................................................................................................ 222 16.3 软件设计 ........................................................................................................ 222 16.4 下载验证 ........................................................................................................ 227 第十七章 OLED 显示实验 ...................................................................................... 229 17.1 OLED 简介 ..................................................................................................... 230 17.2 硬件设计 ........................................................................................................ 236 17.3 软件设计 ........................................................................................................ 237 17.4 下载验证 ........................................................................................................ 244 第十八章 TFTLCD 显示实验 .................................................................................. 246 18.1 TFTLCD&FSMC 简介 ................................................................................... 247 18.1.1 TFTLCD 简介 .............................................................................................. 247 18.1.2 FSMC 简介 .................................................................................................. 252 18.2 硬件设计 ........................................................................................................ 261 18.3 软件设计 ........................................................................................................ 262 18.4 下载验证 ........................................................................................................ 273 第十九章 USMART 调试组件实验 ......................................................................... 274 19.1 USMART 调试组件简介 ................................................................................ 275 19.2 硬件设计 ........................................................................................................ 278 VII
STM32F1 开发指南(精英板-HAL 库版) ALIENTEK 精英 STM32F103 开发板教程 19.3 软件设计 ........................................................................................................ 278 19.4 下载验证 ........................................................................................................ 281 第二十章 RTC 实时时钟实验 .................................................................................. 286 20.1 STM32F1 RTC 时钟简介 ............................................................................... 287 20.2 硬件设计 ........................................................................................................ 295 20.3 软件设计 ........................................................................................................ 295 20.4 下载验证 ........................................................................................................ 301 第二十一章 待机唤醒实验 ...................................................................................... 303 21.1 STM32F1 待机模式简介 ................................................................................ 304 21.2 硬件设计 ........................................................................................................ 307 21.3 软件设计 ........................................................................................................ 307 21.4 下载与测试 .................................................................................................... 310 第二十二章 ADC 实验 ............................................................................................. 311 22.1 STM32F1 ADC 简介 ...................................................................................... 312 22.2 硬件设计 ........................................................................................................ 319 22.3 软件设计 ........................................................................................................ 319 22.4 下载验证 ........................................................................................................ 322 第二十三章 内部温度传感器实验 .......................................................................... 324 23.1 STM32F1 内部温度传感器简介 ................................................................... 325 23.2 硬件设计 ........................................................................................................ 325 23.3 软件设计 ........................................................................................................ 325 23.4 下载验证 ........................................................................................................ 327 第二十四章 光敏传感器实验 .................................................................................. 328 24.1 光敏传感器简介 ............................................................................................ 329 24.2 硬件设计 ........................................................................................................ 329 24.3 软件设计 ........................................................................................................ 329 24.4 下载验证 ........................................................................................................ 332 第二十五章 DAC 实验 ............................................................................................. 334 25.1 STM32F1 DAC 简介 ...................................................................................... 335 25.2 硬件设计 ........................................................................................................ 339 25.3 软件设计 ........................................................................................................ 340 25.4 下载验证 ........................................................................................................ 343 第二十六章 DMA 实验 ............................................................................................ 345 VIII
分享到:
收藏