0. 前言
最近发现了 Resberry Pi Pico 这个硬件,好像还挺有意思,于是乎想起自己还有个 ESP8266 还没点亮,遂把硬件翻出来继续倒腾倒腾。结果写了一堆代码根本刷不进去,连自带 demo 里的 blink 这种项目都刷不进去,于是又开启了漫长的寻找解决办法的路程。
1. 问题
问题具体表现为,在连接 ESP8266 至电脑后,成功显示了设备

但点击 Arduino 中 upload 并不能正常上传固件,具体报错内容为:
serial.serialutil.SerialException: Cannot configure port, something went wrong. Original message: PermissionError(13, 'A device attached to the system is not functioning.', None, 31)
截图如下:

可能 error message 含有中文不能正常显示。
2. 解决办法
在百度和 bing 上搜索了很多解决办法
包括
- 在硬件管理器中设定与 Adruino 一致的波特率
- 在连接 MCU 前按下 RST 键
- 重新安装 Arduino 中的 ESP8266库
- Arduino 中选择 Generic ESP8266 Module 而非我本来的 ESP-12E
等等常见的解决办法都没有用,还是报错上面内容。
最终还是在Arduino 官方论坛找到了解决办法!

根据这个叫 maf 的用户回复,一看,果然我安装的也是 3.8 版本的 CH340 驱动。

果断卸载了该驱动:

重新安装上了 3.5 版本的驱动:

最终成功编译运行了 Blink demo:

又可以愉快地玩耍了!
本文讲述了作者在尝试使用Arduino与ESP8266通信时遇到的上传固件失败问题,经过一系列尝试和在Arduino论坛找到的解决方案,发现是由于驱动版本(CH340)问题。最终,通过降级驱动版本到3.5解决了SerialException错误并成功运行Blinkdemo。
4153

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



