关于avrdude: stk500_getsync(): not in sync: resp=0x00错误
avrdude: stk500_getsync(): not in sync: resp=0x00
该问题表述为串口通信失败
经过分析,出现这种情况的原因大致有:
1.arduino在IDE下载过程中没有复位;
2.串口脚(0、1)被占用;
3.USB转串口通信不稳定;
4.bootloader损坏。
5.选错了串口或者板子型号(这个就不说了,选对就好了)
其中bootloader损坏几率真心极小,几乎不太可能;
usb转串口通信不稳定多出现在使用PL2303做转换IC的arduino兼容板上;
串口占用问题,直接拔掉0,1上连接的设备,即可;
另外极有可能的原因是arduino下载过程中,没有复位。
没有更专业的实验,初步分析是官方复位电路有一定缺陷
目前arduino的复位采用DTR信号加100nf电容实现,这个自动复位方法很有意思,但问题也多
解决办法其实很简单,程序编译完成后,进入下载时,手动复位一下
或者将其他可能引起干扰的外部件拔掉,再进行下载
还不行的话,就换电脑、换下载线,换板子,逐个排除可能