没有合适的资源?快使用搜索试试~ 我知道了~
首页STM32F103全解析:零死角入门与高级应用指南
"《零死角玩转STM32—F103霸道》是一本专为STM32F103系列单片机学习者设计的教程,旨在帮助读者全面掌握这款微控制器。书本分为基础入门篇和提高篇,强调循序渐进的学习方式,建议先系统学习基础篇,再根据个人需求深入高级例程。 学习路径明确,从基础入手,如《STM32F10X-中文参考手册》和《Cortex-M3权威指南》是重要的参考资料,尽管书中可能不会详述所有寄存器细节,但推荐读者结合这两本官方手册进行深入理解,以提升学习效果。作者注重外设的实际应用,每个章节围绕一个外设展开,包括简介、功能框图分析和代码讲解。外设功能框图分析是核心内容,它揭示了每个组件的作用,对于理解和运用外设至关重要,尽管过程可能相对枯燥,但它是掌握单片机核心技术的关键。 本书配套的硬件平台是秉火STM32-F103ZE-霸道,使用这一平台进行实验有助于避免移植问题,提高学习效率。遇到学习难题,读者可以在论坛www.firebbs.cn寻求帮助,这里有丰富的技术交流资源。 《零死角玩转STM32—F103霸道》提供了一个由浅入深、实践与理论相结合的学习路径,适合希望系统学习STM32F103的开发人员,无论是初学者还是进阶者,都能从中受益匪浅。"
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/9847897/bg10.jpg)
零死角玩转 STM32F103—霸道
论坛:www.firebbs.cn 16 / 898 淘宝:https://fire-stm32.taobao.com
图 4-4 ISP 下载配置
图 4-5 ISP 下载成功
![](https://csdnimg.cn/release/download_crawler_static/9847897/bg11.jpg)
零死角玩转 STM32F103—霸道
论坛:www.firebbs.cn 17 / 898 淘宝:https://fire-stm32.taobao.com
4.4 ISP 一键下载原理分析
4.4.1 ISP 简介
ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最
终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用 ISP 方式擦除或再
编程。
ISP 的时候需要用到(bootloader)自举程序,自举程序存储在 STM32 器件的内部自举
ROM 存储器(系统存储器)中。其主要任务是通过一种可用的串行外设( USART、 CAN、
USB、 I2C 等)将应用程序下载到内部 Flash 中。每种串行接口都定义了相应的通信协议,
其中包含兼容的命令集和序列。
4.4.2 ISP 普通下载
现在我们针对 USART1 的 ISP 进行分析,通常的 ISP 的步骤如下:
1. 电脑通过 USB 转串口线连接 STM32 的 USART1,并打开电脑端的上位机;
2. 设置跳线保持 BOOT0 为高电平,BOOT1 为低电平;
3. 复位单片机使其进入 bootloader 模式,通过上位机下载程序;
4. 下载完毕,设置跳线保持 BOOT0 为低电平,BOOT1 为低电平;
5. 复位单片机即可启动用户代码,正常运行。
以上步骤有个不好的地方就是下载程序需要跳线及复位操作,很繁琐。通过对 ISP 的
原理认识,一键 ISP 就诞生了,它需要做的事情就是用上位机去控制 BOOT0 脚和单片机的
复位脚,原理图如下:
![](https://csdnimg.cn/release/download_crawler_static/9847897/bg13.jpg)
零死角玩转 STM32F103—霸道
论坛:www.firebbs.cn 19 / 898 淘宝:https://fire-stm32.taobao.com
1
1
内部 SRAM
4.4.4 ISP 一键下载
USB 转串口估计大家都很熟悉,一般都是用到 RXD 和 TXD 这两个口,一键 ISP 电路
中我们需要用 USB 转串口的芯片的 DTR 口和 RTS 口来控制单片机的 BOOT0 和 NRST,原
理如下:
1. 通过上位机控制 U6(CH340G)的 RTS 脚为低电平,Q1 导通,BOOT0 的电平上拉为
高电平。
2. 通过上位机控制 U6(CH340G)的 DTR 脚为高电平,由于 RTS 为低电平,Q2 导通,
U8 的 2 脚为低电平,U18 为一个模拟开关,使能端由 4 脚控制,默认高电平,U18
的 1 脚和 2 脚导通,所以 NRST 为低电平系统复位。
3. 单片机进入 ISP 模式,此时可以将 DTR 脚设置为低电平,RTS 设置为高电平。Q1
和 Q2 为截至状态,BOOT0 和 NRST 还原默认电平。
4. 上位机将程序下载到单片机,下载完毕之后,程序自动运行。
5. 至此,很多人还会认为 U18、Q1、Q2 是多余的,用 U6 的 RTS 和 DTR 直接控制也
可以。正常情况下,这样理解没有问题,但是我们忽略了一点,就是单片机上电瞬
间如果 USB 转串口连接了电脑,DTR 和 RTS 的电平是变化的,如果不处理好,单
片机会一直进入 ISP 模式,或者系统会复位多次,这种情况是不允许的。
6. 于是,就有了我们全新的一键 ISP 电路。我们主要是分析上电瞬间的逻辑关系,单
片机上电时我们通过示波器观察波形得知 DTR 和 RTS 的电平是变化的,但是也有
一个规律就是:只要 RTS 为低电平的时候,DTR 的电平也是低,因此一般情况 Q2
不会导通,但由于这两个 IO 口的电平存在“竞争冒险”,会出现 RTS 的下降沿的
时候刚好遇到 DTR 的上升沿,这个时候 Q2 导通,导致系统复位,而 BOOT0 此时
有可能也为高电平,就会进入 ISP 模式。这个是不受我们控制的,我们不想系统出
现这样的情况。因此加入了模拟开关来切断这种干扰。
7. 加入模拟开关 U18,通过控制 U18 的 4 脚的开关来达到隔离干扰电平的目的。下面
我们分析一下延时开关电路,上电瞬间,电容 C65 通过电阻 R18 来充电,由于电
阻 100k 很大,电容的充电电流很小,等电容充电达到 U18 的 4 脚的有效电平 2V
时,大概耗时 1S,在这个 1S 时间内 U18 的模拟开关是断开的,因此 RTS 和 DTR
的干扰电平不会影响到系统复位。系统正常运行。
![](https://csdnimg.cn/release/download_crawler_static/9847897/bg14.jpg)
零死角玩转 STM32F103—霸道
论坛:www.firebbs.cn 20 / 898 淘宝:https://fire-stm32.taobao.com
第5章 初识 STM32
本章参考资料:1、《STM8 和 STM32 产品选型手册》
5.1 什么是 STM32
STM32,从字面上来理解,ST 是意法半导体,M 是 Microelectronics 的缩写,32 表示
32 位,合起来理解,STM32 就是指 ST 公司开发的 32 位微控制器。在如今的 32 位控制器
当中,STM32 可以说是最璀璨的新星,它受宠若娇,大受工程师和市场的青睐,无芯能出
其右。
5.1.1 STM32 诞生的背景
51 是嵌入式学习中一款入门级的精典 MCU,因其结构简单,易于教学,且可以通过
串口编程而不需要额外的仿真器,所以在教学时被大量采用,至今很多大学在嵌入式教学
中用的还是 51。51 诞生于 70 年代,属于传统的 8 位单片机,如今,久经岁月的洗礼,既
有其辉煌又有其不足。现在的市场产品竞争越来越激烈,对成本极其敏感,相应地对 MCU
的 性能要求也更苛刻:更多功能,更低功耗,易用界面和多任务。面对这些要求,51 现有
的 资源就显得得抓襟见肘。所以无论是高校教学还是市场需求,都急需一款新的 MCU 来
为这个领域注入新的活力。
基于这样的市场需求, ARM 公司推出了其全新的基于 ARMv7 架构的 32 位 Cortex-M3
微控制器内核。紧随其后,ST(意法半导体)公司就推出了基于 Cortex-M3 内核的 MCU—
STM32。STM32 凭借其产品线的多样化、极高的性价比、简单易用的库开发方 式,迅速在
众多 Cortex-M3 MCU 中脱颖而出,成为最闪亮的一颗新星。STM32 一上市就 迅速占领了
中低端 MCU 市场,受到了市场和工程师的无比青睐,颇有星火燎原之势。
作为一名合格的嵌入式工程师,面对新出现的技术,我们不是充耳不闻,而是要尽快
吻合市场的需要,跟上技术的潮流。如今 STM32 的出现就是一种趋势,一种潮流,我们要
做的就是搭上这趟快车,让自己的技术更有竞争力。
5.2 STM32 能做什么
STM32 属于一个微控制器,自带了各种常用通信接口,比如 USART、I2C、SPI 等,
可接非常多的传感器,可以控制很多的设备。现实生活中,我们接触到的很多电器产品都
有 STM32 的身影,比如智能手环,微型四轴飞行器,平衡车、移动 POST 机,智能电饭锅,
3D 打印机等等。下面我们以最近最为火爆的两个产品来讲解下,一个是手环,一个是飞行
器。
剩余897页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/af268879b7fd4bd58825ccfa1921c5e6_lh702411303.jpg!1)
你是那个说书人
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)