Python pyserial - windows error (2)



我正在尝试使用pyserial库将我的arduino连接到python,但是我不断收到错误。我已连接我的 arduino,但 arduino 程序的序列号未运行。我不断收到此错误:

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    j = arduino()
  File "C:UsersDhruv and AnujDocumentsDhruv K. PatelPython FilesbitSnake_sourcebitSnakeglove_input.py", line 9, in __init__
    ser = serial.Serial(port, 9600)
  File "C:Python32libsite-packagesserialserialwin32.py", line 38, in __init__
    SerialBase.__init__(self, *args, **kwargs)
  File "C:Python32libsite-packagesserialserialutil.py", line 282, in __init__
    self.open()
  File "C:Python32libsite-packagesserialserialwin32.py", line 66, in open
    raise SerialException("could not open port %r: %r" % (self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM1': WindowsError(2, 'The system cannot find the file specified.')

这是我的arduino代码:

int speed = 10;
const int thumb = 2;
const int index = 3;
const int middle = 4;
const int ring = 5;
const int pinky = 6;
String out;

void setup(){
  pinMode(thumb,INPUT);
  pinMode(index,INPUT);
  pinMode(middle,INPUT);
  pinMode(ring,INPUT);
  pinMode(pinky,INPUT);
  Serial.begin(9600);
}
void loop(){
  boolean repeat = true;
  if(repeat == true){
    if(digitalRead(thumb) == HIGH){
      Serial.write(1);
      Serial.println(1);
      repeat = false;
    }
    if(digitalRead(index) == HIGH){
      Serial.write(2);
      Serial.println(2);
      repeat = false;
    }
    if(digitalRead(middle) == HIGH){
      Serial.write(3);
      Serial.println(3);
      repeat = false;
    }
    if(digitalRead(ring) == HIGH){
      Serial.write(4);
      Serial.println(4);
      repeat = false;
    }
    if(digitalRead(pinky) == HIGH){
      Serial.write(5);
      Serial.println(5);
      repeat = false;
    }
  }
  if(repeat == true){
    Serial.write(0);
    Serial.println(0);
  }
  delay(10);
}

还有我的蟒蛇代码:

import serial
from serial import *
port = 0
class arduino:
    def __init__(self):
        #serial.tools.list_ports()
        ser = serial.Serial(port, 9600)
        self.port = str(port)
    def read(self):
        return ser.readline()
    def close(self):
        ser.close()

任何帮助都会很棒,谢谢!!

尝试另一个 COM 端口。您的 arduino 显然不在COM1 .

您可以在Windows硬件设备管理器中找到哪个COM使用。

在 Win7 中,我的 USB 到串行适配器将具有 COM40/COM41。

最新更新