1
我是新來的Python和一般的編程。 我正在使用Arduino和python爲Spotify製作遙控器。 無論何時在Arduino上按下按鈕,都會通過串行發送單個字符。有一個python腳本正在監聽這個角色,並根據角色執行一個命令。我遇到的問題是spotify.playpause()
每次按下其各自的按鈕時都有效,但所有其他命令都需要多次按下按鈕。我確信這不是Arduino的問題,因爲我已經通過多個串行監視器確認該字符正確發送,所以我認爲這是Python循環的一個問題。Pyserial讀取循環需要多個輸入來註冊
編輯:只是增加更多的信息,似乎對Python端serial.read()
或serial.readline
和Serial.print
或Serial.println
在Arduino的側面不同的組合有問題
TL無影響; DR循環不會完全執行,它有什麼問題。
下面是代碼:
import serial
from pytify import Spotify
spotify = Spotify()
connected = False
ser = serial.Serial("COM3", 57600)
while not connected:
serin = ser.read()
connected = True
while True:
if ser.read() == '0':
spotify.playpause()
elif ser.read() == '1':
spotify.volumeUp()
elif ser.read() == '2':
spotify.volumeDown()
elif ser.read() == '3':
spotify.previous()
elif ser.read() == '4':
spotify.next()
else :
pass