我在一台 Windows 7 计算机上,试图使用 Python 在我的 Arduino 上运行一个简单的程序以使其闪烁。
出于某种原因,每当我尝试在PowerShell中运行脚本时,都会收到端口已打开的错误消息。我尝试重新启动计算机,更改 Arduinos,更改我插入的 USB 端口,运行另一个我很确定会关闭计算机与端口的连接的程序。但是,我仍然遇到同样的错误。
我对 Python 和 Arduino 很陌生,所以我可能会忘记一些愚蠢的简单事情。我问过一个更有经验的朋友,他说这是 Windows 的问题。
这是相关的代码。我在Python中使用的类如下。
import serial
import socket
import glob
import pickle
from time import sleep,time
class Ardustat():
def __init__(self):
self.port = ""
self.ser = serial.Serial()
self.mode = "serial"
self.debug = False
def findPorts(self):
"""A commands to find possible ardustat ports with no Arguments, """
return glob.glob("COM*")
def connect(self,port):
if self.mode == "serial":
self.ser = serial.Serial(port,57600)
self.ser.timeout = 1 # what does this do?
self.ser.open()
return "connected to serial"
Python代码是
from ardustat_library_simple_dan import Ardustat
import time
serial_port = 'COM6'
ard = Ardustat()
#Connect to the irritating ardustat
ard.connect(serial_port)
for a in range(0,5):
ard.blink(serial_port)
time.sleep(.2)
Arduino代码很长,但在设置中有以下代码。
void setup()
{
//Startup Serial
Serial.begin(57600);
// Serial.println("Hi Dan!");
有什么问题吗?