[英]Python: While loop runs once and waits.. I want it to loop but it does not
我是python編碼的新手,並且正在使用Raspberry Pi作為學習手段。 我正在嘗試不斷輪詢板上的輸入並將它們打印到屏幕上,但是代碼只打印了一次輸入狀態,似乎正在等待某些東西,我似乎無法弄清楚……任何幫助都將極大地幫助您贊賞。
# piFace_Control.py
import piface.pfio as pfio
import serial
import time
import struct
def h(val):
return struct.pack('!H', val)
def i(val):
return struct.pack('I', val)
serialA = serial.Serial("/dev/ttyUSB0",9600)
serialA.open()
serialA.flush()
pfio.init()
time.sleep(1)
val2 = 1
run = 1
while (run):
try:
val = serialA.readline()
print(val)
serialA.write(h(0xFE))
serialA.write(' Got it!')
if val2 == 0:
val2 = 1
else:
val2 = 0
print(i(val2))
serialA.write(i(val2))
pfio.digital_write(0,val2)
print "D0: "+str(pfio.digital_read(0))
print "D1: "+str(pfio.digital_read(1))
print "D2: "+str(pfio.digital_read(2))
print "D3: "+str(pfio.digital_read(3))
print "D4: "+str(pfio.digital_read(4))
print "D5: "+str(pfio.digital_read(5))
print "D6: "+str(pfio.digital_read(6))
print "D7: "+str(pfio.digital_read(7))
except (KeyboardInterrupt, SystemExit):
print '\nKeyboard Interrupt Caught...'
run = 0
pass
serialA.close()
當您點擊時:
val = serialA.readline()
在第二個循環中,它永遠不會從序列中收到完整的行,直到它收到為止。
串行連接另一端的任何內容僅發送一條線路。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.