普中一键下载CH340

原子

在这里插入图片描述

与Arduino等单片机不同的是,stm32单片机在串口下载时,不仅需要控制RESET来复位,还需控制BOOT0、BOOT1来选择启动位置

DTR#和RTS#都是 输出类型, MCUISP(一键下载工具),会控制CH340这两个引脚的高低电平状态,通过控制DTR#和RST#这两个引脚的高低电平状态,从而控制STM32的BOOT0 和 RESET

https://www.cnblogs.com/einstein-2014731/p/4885300.html

DTR#、RST#初始状态的时都是高电平,在启用下载的时候,DTR#维持高,RST#拉低,此时两个三极管Q2 和Q3 导通,那么BOOT0 为高电平,RESET为低电平复位,然后DTR#变低,Q2不导通,复位结束,此时BOOT0 为高电平。stm32的启动模式变为从系统存储器启动,启用串口下载,STM32 和 MCUISP下载软件进行通信,进行代码下载,等到代码下载结束时 RST#先变为高电平,然后DTR#在变成高电平

CH340G上电后DTR#和RTS#都为高电平,在用MCUISP烧写软件时,我们在软件下方选择“DTR的低电平复位,RTS高电平进BootLoader”,CH340G IC在实际操作时引脚的变化为“DTR#拉高,RTS#拉低”,即软件设置和实际情况是取非的,相反的。
画个时序图,直观一些:
在这里插入图片描述
原子战舰开发手册
顺序:能先控制BOOT0=1,然后控制REST=0,然后释放REST=1,然后下载
图中 Q2 和 Q3 的组合构成了我们开发板的一键下载电路,只需要在 flymcu 软件设置:DTR的低电平复位,RTS 高电平进 BootLoader。就可以一键下载代码了,而不需要手动设置 B0 和按复位了。其中,RESET 是开发板的复位信号,BOOT0 则是启动模式的 B0 信号。一键下载电路的具体实现过程:首先,flymcu 控制 DTR 输出低电平,则 DTR_N 输出高,然后 RTS 置高,则 RTS_N 输出低,这样 Q3 导通了,BOOT0 被拉高,即实现设置 BOOT0 为 1。同时 Q2 也会导通,STM32F1 的复位脚被拉低,实现复位。然后,延时 100ms 后,flymcu 控制DTR为高电平,则DTR_N输出低电平,RTS维持高电平,则RTS_N继续为低电平,此时STM32F1的复位引脚,由于 Q2 不再导通,变为高电平,STM32F1 结束复位,但是 BOOT0 还是维持为1,从而进入 ISP 模式,接着 flymcu 就可以开始连接 STM32F1,下载代码了,从而实现一键下载。
注:DTR#=DTR的反相。
在这里插入图片描述

普中

51板

在这里插入图片描述

32板

在这里插入图片描述
正常运行的时候RTS#为高,TP5导通,BOOT0为0,运行程序,DTR#为低,不复位
虽然电路设计不同,但是结果是正常通讯时是一样,RTS#为高,DTR#为低
在这里插入图片描述

电路的RX引脚有上拉电阻时(有的在单片机内部上拉),340输出低电平时二极管导通(阴极电位低于阳极),将单片机侧电压拉低;340输出高电平时二极管截止,单片机侧因为上拉电阻而上升为高电平。不加它 工作不正常 读写会出错,这个二极管可以是1N4148,1N5819.
不能接发光二极管,发光二极管的压降(也就是最小导通电压)大,不合适
 贴片LED压降

具体压降参考值如下:

红色的压降为1.82-1.88V 电流5-8mA

绿色的压降为1.75-1.82V 电流3-5mA

橙色的压降为1.7-1.8V 电流3-5mA

兰色的压降为3.1-3.3V 电流8-10mA

白色的压降为3-3.2V电流10-15mA.
在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值