我在一臺Windows電腦上,試圖用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!");
有什麼不對嗎?
你是否排除這不是端口上的權限問題? Power shell是Windows 7的默認外殼,還是可以使用更簡單的東西? – macduff
很確定它不是一個許可問題,因爲它讓我之前打開了端口。問題是它始終認爲端口已經打開。我已經運行其他程序嘗試關閉它,但沒有運氣。 感謝您的幫助 – user2520810