我正在使用 PC(Windows10)通過 USB(串行埠)向 Arduino 發送資料并且它運??行正常。所以我寫了一個如下的powershell腳本:
$serial = new-Object System.IO.Ports.SerialPort COM8,9600,None,8,one
$serial.open()
$serial.WriteLine("1")
$serial.close()
問題是當我重新啟動我的電腦時,因為在重新啟動幾次之后,Arduino 獲得了一個新的串行埠并且我的腳本設定為 COM8,然后它就不起作用了!
那么使用powershell,重啟PC后如何知道Arduino連接的是哪個串口?
如何更改此 powershell 腳本以自動識別 Arduino 連接的串口?謝謝
uj5u.com熱心網友回復:
嘗試這個。請注意,我實際上沒有連接到串行埠的東西來測驗。
您將需要$SerialPorts查看是否有一些東西可以識別正確的埠,然后調整Where-Object -Property Description -eq 'Arduino stuff'它以匹配您識別的內容。
$SerialPorts = Get-CimInstance -Class Win32_SerialPort | Select-Object Name, Description, DeviceID
# This is the part where you need to tweak the Where-Object statement to match what you are looking for
$ArduinoPort = $SerialPorts | Where-Object -Property Description -eq 'Arduino stuff' | Select -ExpandProperty DeviceID
$serial = new-Object System.IO.Ports.SerialPort $ArduinoPort, 9600, None, 8, one
$serial.open()
附加說明
如果您沒有找到任何可以幫助您識別哪個是 arduino 埠的資訊,您可以洗掉,| Select-Object Name, Description, DeviceID以便您獲取所有屬性(并從那里檢查是否有任何東西可以用來查明要使用的串行埠)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/495214.html
