使用Arduino IDE给ATMega328p烧录程序时,一直出现avrdude: stk500_getsync() attempt 1 of 10: not in sync,如图。
串口下载及单片机电路如下。其中DTR引脚提供复位信号。
后来发现将C10电容去掉,便可正常下载。
原因:正常情况下,下载程序瞬间,CH340的DTR引脚拉低,C8电容充电(这个瞬间可看做C8电容短路),于是单片机RESET脚出现一个短暂的低电平,单片机复位,开始下载程序。
但是,单片机RESET脚出现低电平时,C10电容放电(C10电容在板子上电瞬间充电,单片机RESET引脚出现短暂的低电平,上电复位成功)。在两个电容的一充一放的中和下,导致RESET脚预期的低电平没有出现,复位失败。
可参考文章: