这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
zh:learing:advanced:2017050901 [2017/05/09 12:32] – 创建 弘毅 | 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烧录程序,抓取信号。 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 可以看到,DTR和RTS电平变化是一致的。 | ||
+ | |||
+ | 再通过查询相关源码发现,DTR和RTS在源码中都进行了定义,产生自动下载的复位信号。 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 所以,完全可以使用RTS管脚来替代DTR产生自动复位的信号。 | ||