正点原子stm32f103mini版串口下载BOOT0引脚与与CH340G芯片引脚RTS、DTR、的关系原理
在做串口实验时,一直搞不明白一键下载是怎么回事,于是自己就去捉摸CH340G这块芯片,那么这里我将详细的讲解一下这块芯片怎么与stm32配合使用的。
1、由CH340G芯片资料可以知道这两个引脚的功能都为输出
RTS#:信号输出,初始状态为高电平,表示芯片接收数据已经准备就绪,下载程序时会变成低电平。
DTR#:信号输出,初始状态为高电平,下载程序时会变成低电平(但是,是在RTS变为低电平之后才为低)。
2、stm32BOOT
根据BOOT参考资料的配置可知
可以先把BOOT1直接接地,单独控制BOOT0来调节启动模式;
当BOOT0为低电平时,系统执行flash中的代码,当BOOT0为高时,可用串口下载程序到flash(且系统必须复位才可以)
当程序下载完成后CH340G的引脚RTS、DTR都变为高电平,使得BOOT0恢复原来的低电平状态,之后系统开始读取存储器flash的地址的程序,执行代码。
3、下面由通过这张图来说明电路设计的思路
上电;首先BOOT1接地先。BOOT0下拉10K电阻,保证开始为低电平(在stm32f103板子上电的时候,保证能直接读取flash中的程序),且RTS、DTR都为高,所以BOOT0初始为低电平,reset初始为高电平(低有效),那么重点来了。
当串口开始传输数据前(打开串口软件时mcu),”DTR为高,RTS为低“,这样图中Q1导通reset为低开始复位,Q2导通BOOT0变为高,开始写程序准备。之后DTR变为低,复位结束,开始写程序。写完 后BOOT0自动恢复到低电平读取flash的状态,或者可手动复位。stm32就可以执行flash中下好的程序了。
这里需要说明一点BOOT0非常敏感,在下载程序时仅仅需要一点点时间的高电平就可以下载程序,,且不需要保持到下载程序结束。
正点原子stm32f103mini版串口下载BOOT0引脚与与CH340G芯片引脚RTS、DTR、的关系原理的更多相关文章
- 山寨F407板子如何烧录正点原子例程、Keil下载提示Invalid ROM Table
山寨F407板子如何烧录正点原子例程 手头这块块信赢达的STM32F407板子,是模仿正点原子探索者STM32F407板子的,外设和接口,几乎是一模一样. 探索者板子用的是STM32F407ZET6, ...
- STM32的JTAG、SWD和串口下载的问题
最近有一个项目用到STM32,为了使PCB布线方便一些所以改了一些引脚,占用了JTAG接口的PA15和PB3,所以要禁用一下JTAG,下载采用SWD模式.这样在实际操作中做出一些总结(方法网上都有.这 ...
- STM32 ~ JTAG、SWD和串口下载的问题
最近有一个项目用到STM32,为了使PCB布线方便一些所以改了一些引脚,占用了JTAG接口的PA15和PB3,所以要禁用一下JTAG,下载采用SWD模式.这样在实际操作中做出一些总结(方法网上都有.这 ...
- 正点原子DS100拆解全过程-硬件工程师必备
前言: 之前一篇只针对正点原子DS100手持示波器的使用介绍文章.可作为一个电子工程师,光使用不是我们的风格哈,我们还要拆开看看电路. 开拆 外壳 首先,看下图,DS100不是使用螺母进行固定的,而是 ...
- 【STM32】基于正点原子『探索者』开发板的烧录
项目需要一个功能,开发板范例正好有,就买了一块,不过还是有点贵 我手边没有J-Link 用的都是串口烧录 烧录时,先打开右上的开关 如果是仿真器烧录,它无法供电,需要接12V适配器或是杜邦线供电 然后 ...
- CC2530使用串口下载(SBL)
工作环境: WIN7 64位 IAR 版本: 8.10.3 (8.10.3.10338) ZStack-CC2530-2.3.1-1.4.0协议栈,下载地址:http://download.csdn. ...
- 微信 5.3 for iPhone已放出 微信iphone版更新下载
就在几个小时前,微信发布了更新,本次只放出微信 5.3 for iPhone,距离发布微信5.3内测版也就几天时间.和往常一样微信iphone版先发布,微信android版延后发布,微信看重的是ios ...
- Win7版IE10浏览器正式版官方下载地址
• 简体中文,Win7 SP1 32位版IE10下载: http://download.microsoft.com/download/4/1/4/4149BFB1-AC27-401D-943F-DA1 ...
- Linux系统各发行版镜像下载(2)
Fedora ISO镜像下载: Fedora 是一个开放的.创新的.前瞻性的操作系统和平台,基于 Linux.它允许任何人自由地使用.修改和重发布,无论现在还是将来.它由一个强大的社群开发,这个社群的 ...
随机推荐
- python模块--os模块
打印文件的绝对路径:os.path.abspath(__file__) os.path.dirname("/root/python/test.py") #只取目录名'/root ...
- laravel 路由的配置
- pycharm 执行unittest 没有生成测试报告
解决: [第一步] [第二步]
- 『OpenCV3』滤波器实现及使用滤波器降噪
一.滤波器实现 我们实现这样一个基于拉普拉斯算子的滤波器核心,并使用它进行滤波,这可以做到锐化图像的效果, 0 -1 0 -1 5 -1 0 -1 0 首先我们完全手动的进行滤波,依赖指针操作, vo ...
- [la P5031&hdu P3726] Graph and Queries
[la P5031&hdu P3726] Graph and Queries Time Limit: 10000/5000 MS (Java/Others) Memory Limit: ...
- MAC 下 Excel打开UTF-8格式的文件乱码
为了识别 Unicode 文件,Microsoft 建议所有的 Unicode 文件应该以 ZERO WIDTH NOBREAK SPACE字符开头.这作为一个”特征符”或”字节顺序标记(byte-o ...
- vscode setting.jsonxx
// Place your settings in this file to overwrite the default settings { "files.autoGuessEncodin ...
- ThinkPHP5的数据操作和Thinkphp3.2.3对比小结
前言: 由于Thinkphp5和Thinkphp3.2.3的版本差距过大, 在记忆方面容易混淆. 故特意记录一下在数据操作上的对比的不同. Tp3.2.3 增:add(),addAll() 查:fin ...
- centos7源码安装Python3的前提条件
centos7源码安装Python3的前提条件: # yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline- ...
- OSI七层模型与TCP/IP五层模型(转)
reference:https://www.cnblogs.com/qishui/p/5428938.html 博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能 ...