没有合适的资源?快使用搜索试试~ 我知道了~
首页STM32F103详细教程:从入门到精通
"STM32使用说明书提供了一套详尽的教程,针对ST公司基于ARM微控制器的STM32F103开发板进行深度解析。该书分为基础入门篇和提高篇,强调循序渐进的学习方式,适合初学者逐步掌握STM32的核心功能。教程涵盖了串口、IIC、SPI通信,定时器,MUP6050模块以及SD卡存储等高级操作。 学习路径明确,建议先通读基础篇,掌握STM32F103的基础知识,然后根据个人需求选择性地深入提高篇。书中引用了ST官方的《STM32F10X-中文参考手册》和《Cortex-M3权威指南》作为参考资料,这些手册提供了全面且深入的寄存器描述,对于理解STM32的细节至关重要,但书中会简化处理,引导读者在必要时查阅。 编写风格注重实战应用,每一章围绕一个外设展开,首先有简洁明了的外设简介,接着深入分析功能框图,解释每个部件的作用,这对于理解和使用外设至关重要。最后是代码讲解,通过实际案例帮助读者理解编程逻辑和注意事项。配套的硬件平台为秉火STM32-F103ZE-霸道,这个平台有助于避免移植过程中的问题,提高学习效率。 在遇到问题时,作者推荐读者访问技术论坛www.firebbs.cn寻求帮助,进行知识共享和交流,共同提升。作者也欢迎读者提出反馈,以便不断优化教程,使学习体验更加顺畅。这本书旨在帮助读者全面掌握STM32F103的使用,无论是初学者还是进阶开发者都能从中获益。"
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/10675730/bg10.jpg)
零死角玩转 STM32F103—霸道
16 / 830
图 4-4 ISP 下载配置
图 4-5 ISP 下载成功
![](https://csdnimg.cn/release/download_crawler_static/10675730/bg11.jpg)
零死角玩转 STM32F103—霸道
17 / 830
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/10675730/bg13.jpg)
零死角玩转 STM32F103—霸道
19 / 830
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/10675730/bg14.jpg)
零死角玩转 STM32F103—霸道
20 / 830
第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 打印机等等。下面我们以最近最为火爆的两个产品来讲解下,一个是手环,一个是飞行
器。
剩余829页未读,继续阅读
![](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/3b8d513fc4bd42eb8842f831008c9dce_wyq1991wyq.jpg!1)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/user-vip.1c89f3c5.png)
1+1>2?
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 计算机系统基石:深度解析与优化秘籍
- 《ThinkingInJava》中文版:经典Java学习宝典
- 《世界是平的》新版:全球化进程加速与教育挑战
- 编程珠玑:程序员的基础与深度探索
- C# 语言规范4.0详解
- Java编程:兔子繁殖与素数、水仙花数问题探索
- Oracle内存结构详解:SGA与PGA
- Java编程中的经典算法解析
- Logback日志管理系统:从入门到精通
- Maven一站式构建与配置教程:从入门到私服搭建
- Linux TCP/IP网络编程基础与实践
- 《CLR via C# 第3版》- 中文译稿,深度探索.NET框架
- Oracle10gR2 RAC在RedHat上的安装指南
- 微信技术总监解密:从架构设计到敏捷开发
- 民用航空专业英汉对照词典:全面指导航空教学与工作
- Rexroth HVE & HVR 2nd Gen. Power Supply Units应用手册:DIAX04选择与安装指南
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](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)