저는 나무 딸기 파이, 16x2 LCD 디스플레이 및 일부 파이썬 코드가 포함 된 프로젝트가 있습니다. 필자는 본질적으로 lcd에 정보를 표시하는 동적 while 루프를 만들려고합니다. 나는 또한 터치 버튼 중 하나를 눌러 while 루프를 취소하는 기능을 추가하는 것을 시도하고있다 (참조 : https://github.com/pimoroni/dot3k/blob/master/python/REFERENCE.md가)Python - 반복 기능 (Raspberry Pi)이있는 반복문
이것은 내가 지금까지 무엇을 가지고 있습니다 :
import dothat.lcd as l
import dothat.backlight as b
import dothat.touch as t
from time import sleep
import signal
import os
def main():
i=0
k=0
while True:
l.clear() # Clear LCD screen
b.hue(1.5) # Set background color
l.set_cursor_position(0, 1) # Set cursor position on LCD
l.write("%s" % k) # Write variable "k" to LCD
@t.on(t.CANCEL) # When CANCEL button is pressed then go to function
def cancel(ch, evt):
i=1 # Set variable "i" as 1
return
if i == 1:
break
k=k+1
sleep(1)
l.clear() # Clear LCD screen
b.off() # Turn the LCD Backlight off
cmd='pkill python' #
os(cmd) # Kill all python processes
signal.pause()
main()
루프가 실행되는 동안 만 단추를 누를 때 중단되지 않습니다. 아이디어?
당신이 문제에 대한 자세한 내용을 주실 수 있습니까? 실행 중이거나 오류가 발생하고 있지 않습니까, 아니면 멈추지 않고 있습니까? –
while 루프가 실행 중이지만 버튼을 눌렀을 때 중단됩니다. – Pigface333
주석에 익숙하지 않습니다. 실제로 'cancel' 메서드가 실제로 사용 되었습니까? 거기에'print'를 추가하려 했습니까? 또한, 그 영역을 둘러싼 범위에 존재하는'i'를 변경하는 대신 새로운 로컬'i'를 생성하는 것으로 생각됩니다. –