解决了stk500_recv(): programmer is not responding的问题。

之前用esp32接模拟传感器效果不好,可能是传感器本身的原因,也可能是其内置ADC。所以把吃灰的Arduino Pro Mini拿出来试试看。结果上传固件时报错stk500_recv(): programmer is not responding,检查了接线、FTDI和板子都没有问题。

后来才发现自2018年开始,arduino更新了某些型号的bootloader,像Arduino Nano在IDE中向下兼容提供了Old Bootloader的选项,而Pro Mini这种淘汰型号则没有,需要升级bootloader。

手头上没有AVR的烧录器,但arduino的例程里就有ArduinoISP,即可以用已有的Arduino Uno给Pro Mini升级bootloader。

Arduino Uno刷ISP固件

电脑的usb接上Uno。打开Arduino IDE。

File > Examples > 11. ArduinoISP > ArduinoISP

2022-10-27_19-35

选好Board和Port后编译上传。

接线

Uno Pro Mini
10 RST
11 11
12 12
13 13

2022-10-27_19-39

Pro Mini升级bootloader

电脑的usb接上Uno。打开Arduino IDE。

Tools > Board > Arduino Pro or Pro Mini。

Tools > Processor 检查芯片型号,我的是328P 5V 16MHz

Tools > Programmer > Arduino as ISP

Tools > Burn Bootloader

2022-10-27_19-38

参考资料

Arduino as ISP and Arduino Bootloaders