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
支持财主的教程~
:lol盗了你和房子的图~~~ 弘毅 发表于 2017-5-9 21:00
盗了你和房子的图~~~
可以盗,哈哈~~ 楼主研究得挺深入啊! 但是,通常有DTR的芯片都有RTS,没有的都没有。。。所以。。。然并卵:lol Ansifa 发表于 2017-5-10 01:34
但是,通常有DTR的芯片都有RTS,没有的都没有。。。所以。。。然并卵
新款的SOP10或者MSOP10的。。。。刚好只有RTS没有DTR~~~MSOP10的小很多哦~~~ 弘毅 发表于 2017-5-10 06:16
新款的SOP10或者MSOP10的。。。。刚好只有RTS没有DTR~~~MSOP10的小很多哦~~~
咦。。。是么,其实我很早就知道RTS和DTR都可以了;P因为之前接错过分不清两个是什么引脚,居然也能下。这下好了,炒鸡无敌小的arduino。用贴片半孔做成ESP8266一样的 大神,你好,我最近遇到一个问题不知道该怎么解决。
我用的是Arduino MEGA2560,当断电后,我每次都要打开一下串口监视器才能使程序正常运行。不知道怎么才能通电后程序就正常运行?
页:
[1]