弘毅 发表于 2017-5-9 20:36:01

Arduino程序烧录自动复位深入研究

本帖最后由 弘毅 于 2017-5-9 20:36 编辑

近期市面上出现了不少SOP8或者SOP10封装的USB TO UART芯片,不过这些芯片统一都没有DTR管脚。在传统Arduino的电路中,一般都是通过DTR串联一个100nf电容,连接MEGA328的RESET管脚实现程序烧录过程的自动复位,那还是否有其他方法也可以实现自动复位功能呢?

通过实验和研究,发现串口输出的RTS管脚和DTR管脚具有相同的功能。

首先,在串口通信中。DTR和RTS功能都是输出。

我们连接逻辑分析仪,给开发板从USB烧录程序,抓取信号。
http://www.ocrobot.com/lib/exe/fetch.php?media=zh:learing:advanced:pasted:20170509-123026.png

可以看到,DTR和RTS电平变化是一致的。

再通过查询相关源码发现,DTR和RTS在源码中都进行了定义,产生自动下载的复位信号。
http://www.ocrobot.com/lib/exe/fetch.php?media=zh:learing:advanced:pasted:20170509-123203.png

所以,完全可以使用RTS管脚来替代DTR产生自动复位的信号。

活得精彩 发表于 2017-5-9 20:41:41

支持财主的教程~

弘毅 发表于 2017-5-9 21:00:52

活得精彩 发表于 2017-5-9 20:41
支持财主的教程~

:lol盗了你和房子的图~~~

活得精彩 发表于 2017-5-9 21:21:41

弘毅 发表于 2017-5-9 21:00
盗了你和房子的图~~~

可以盗,哈哈~~

GEU78 发表于 2017-5-9 23:25:08

楼主研究得挺深入啊!

Ansifa 发表于 2017-5-10 01:34:38

但是,通常有DTR的芯片都有RTS,没有的都没有。。。所以。。。然并卵:lol

弘毅 发表于 2017-5-10 06:16:01

Ansifa 发表于 2017-5-10 01:34
但是,通常有DTR的芯片都有RTS,没有的都没有。。。所以。。。然并卵

新款的SOP10或者MSOP10的。。。。刚好只有RTS没有DTR~~~MSOP10的小很多哦~~~

Ansifa 发表于 2017-5-11 15:24:00

弘毅 发表于 2017-5-10 06:16
新款的SOP10或者MSOP10的。。。。刚好只有RTS没有DTR~~~MSOP10的小很多哦~~~

咦。。。是么,其实我很早就知道RTS和DTR都可以了;P因为之前接错过分不清两个是什么引脚,居然也能下。这下好了,炒鸡无敌小的arduino。用贴片半孔做成ESP8266一样的

Janet 发表于 2017-7-7 16:15:54

大神,你好,我最近遇到一个问题不知道该怎么解决。
我用的是Arduino MEGA2560,当断电后,我每次都要打开一下串口监视器才能使程序正常运行。不知道怎么才能通电后程序就正常运行?
页: [1]
查看完整版本: Arduino程序烧录自动复位深入研究