正点原子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.它允许任何人自由地使用.修改和重发布,无论现在还是将来.它由一个强大的社群开发,这个社群的 ...
随机推荐
- 5、SAMBA服务二:配置实例
①:SAMBA服务一:参数详解 ②:SAMBA服务二:配置实例 5.2.3.Samba共享目录配置实例 1.允许匿名用户读取/it共享目录,修改/etc/samba/smb.conf,在最后添加以下内 ...
- 通讯录设计ver1.0版本
表格已经完善! 表格已经完善 接下来就可以考虑数据库和程序的链接了. 指日可待!
- 传统企业IT为什么对微服务叶公好龙的心态?(转)
这两年来,“微服务”.“云计算”.“大数据”.“人工智能”的概念在IT界成了新的宠儿:珠联壁合.声名远播.势如破竹.如日中天!从实践落地的情况来看:微服务诞生于互联网,当然是首先在互联网界遍地开花,高 ...
- node.js面试题大全-侧重后端应用与对Node核心的理解
Node是搞后端的,不应该被被归为前端,更不应该用前端的观点去理解,去面试node开发人员.所以这份面试题大全,更侧重后端应用与对Node核心的理解. github地址: https://github ...
- Win10系列:C#应用控件基础13
Image控件 开发Windows应用商店应用时,除了在界面中显示文字信息以外,还可以加入图片来配合说明及增加美观度.使用Image控件能够实现显示图片的功能,开发者可以根据需求使图片按照不同的方式显 ...
- Java数组声明、初始化
维数组的声明方式:type var[]; 或type[] var; 声明数组时不能指定其长度(数组中元素的个数), Java中使用关键字new创建数组对象,格式为:数组名 = new 数组元素的类型 ...
- Forth 输入流处理
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- python xml文件解析
参考链接:http://www.runoob.com/python/python-xml.html
- Linux磁盘格式化
CentOS7所支持的文件系统格式:默认是用xfs作为系统的文件系统. "/"和"/boot"都是xfs格式! [root@linux-xl ~]# cat / ...
- Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7+TensorFlow1.2.0环境搭建
软件版本说明:我选的Linux系统是Ubuntu16.04,CUDA用的8.0,Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7只支持TensorFlow1.3.0以下的版 ...