用户工具

站点工具


learing:advanced:2017050901

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
learing:advanced:2017050901 [2017/10/05 03:56] 弘毅learing:advanced:2017050901 [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1
行 1: 行 1:
 +====== 程序烧录自动复位深入研究 ======
 +近期市面上出现了不少SOP8或者SOP10封装的USB TO UART芯片,不过这些芯片统一都没有DTR管脚。在传统Arduino的电路中,一般都是通过DTR串联一个100nf电容,连接MEGA328的RESET管脚实现程序烧录过程的自动复位,那还是否有其他方法也可以实现自动复位功能呢?
 +
 +通过实验和研究,发现串口输出的RTS管脚和DTR管脚具有相同的功能。
 +
 +首先,在串口通信中。DTR和RTS功能都是输出。
 +
 +我们连接逻辑分析仪,给开发板从USB烧录程序,抓取信号。
 +
 +{{:learing:advanced:pasted:20170509-123026.png}}
 +
 +可以看到,DTR和RTS电平变化是一致的。
 +
 +再通过查询相关源码发现,DTR和RTS在源码中都进行了定义,产生自动下载的复位信号。
 +
 +{{:learing:advanced:pasted:20170509-123203.png}}
 +
 +所以,完全可以使用RTS管脚来替代DTR产生自动复位的信号。