PyCharm与Arduino串口通信失败:无法打开COM3端口
解决PyCharm与Arduino串口通信时无法打开COM端口的问题
针对你遇到的serial.serialutil.SerialException: could not open port 'COM3': FileNotFoundError错误,按以下步骤排查解决:
确认Arduino实际的COM端口号
不要默认使用COM3,端口号会随设备插拔发生变化:- 打开Arduino IDE,点击顶部菜单栏「工具」→「端口」,查看当前Arduino对应的端口(比如COM4、COM5);
- 或者打开Windows设备管理器,展开「端口(COM和LPT)」,找到带Arduino标识的端口,右键→「属性」→「详细信息」→「端口号」确认准确编号。
关闭占用端口的程序
Arduino IDE的串口监视器、第三方串口调试工具会独占端口资源,必须先关闭这些程序,再运行PyCharm中的代码。检查权限与物理连接
- 右键以管理员身份运行PyCharm,避免系统权限限制导致无法访问串口;
- 重新插拔Arduino的USB线,确保物理连接稳定,接触不良也会引发端口识别失败。
验证Arduino串口功能正常
先在Arduino IDE上传一个简单的串口测试程序,确认硬件和串口本身无故障:void setup() { Serial.begin(9600); // 波特率需与PyCharm代码保持一致 } void loop() { Serial.println("Test"); delay(1000); }上传成功后,再切换到PyCharm运行代码。
检查pyserial库状态
- 在PyCharm的终端运行
pip list,确认虚拟环境中已安装pyserial; - 若未安装,执行
pip install pyserial;若存在版本兼容问题,执行pip install --upgrade pyserial更新至最新版。
- 在PyCharm的终端运行
修正代码中的端口配置
把代码里的serial.Serial('COM3', 9600)中的端口号替换为你实际查到的编号,比如serial.Serial('COM4', 9600),同时确保波特率与Arduino程序中的设置完全匹配。
内容的提问来源于stack exchange,提问作者Ashna Shakeel
相关产品推荐
相关产品推荐

