很多时候,我们并不想通过专用的下载器来给单片机烧录程序,而是希望通过串口来给单片机下载程序。下面以IAP下载时的情况为例。
利用CH340G实现程序的下载时,我们往往会遇到这样一个问题,那就是每次下载时都需要手动复位,非常麻烦,尤其是当板子离操作者有一定距离时。也有人遇到无法正常下载的情况。下面我给出一种解决方案。
图为给AVR单片机一键下载用的电路。在TXD引脚串联一个二极管是为了防止CH340G给单片机供电而使单片机不能正常断电,从而导致程序下载失败。网络标号PE0连接的是单片机的RXD。这里着重说一下DTR引脚通过一个10uF的电容连接到单片机RESET的作用。
当不加电容时或加的电容很小时(如0.1uF):
CH340G的RTS,DTR,DCD,RI,SDR,CTS都是MODEM联络信号。我没学过通信,对此一点也不了解。但是,这些引脚的电平变化肯定是有规律的,于是我用示波器测试了下载时DTR引脚电平变化情况,结果如下:
我的单片机下载bootloader后,第一次IAP下载是不需要手动复位的,第二次开始每次都要手动复位才能正常下载,原因未知。上图为第一次下载时DTR引脚的波形。在开始下载的一瞬间,波形出现一个负脉冲,并在持续一小段高电平后保持为低

本文介绍了如何利用CH340G芯片解决手动复位问题,实现AVR单片机的自动复位一键下载。通过在TXD引脚串联二极管防止供电干扰,同时通过DTR引脚与10uF电容连接单片机的RESET,调整电容值控制复位时间,确保在下载过程中单片机能顺利完成复位,达到一键下载的效果。

1万+

被折叠的 条评论
为什么被折叠?



