我正在使用Raspberry pi上的GPIO来驱动4位7段显示器。显示是多路复用的,并在while True:
循环中运行。
我希望能够提示用户输入更新显示的新4位数字。我尝试过使用线程,但更新显示的线程无法识别更改的变量。
以下是我认为可行的示例:
number = "0000" #used in drive_display() but can be updated in prompt()
def drive_display():
while True:
changeDigit(number[0],Digit1)
time.Sleep(0.006)
changeDigit(number[1],Digit2)
time.Sleep(0.006)
changeDigit(number[2],Digit3)
time.Sleep(0.006)
changeDigit(number[3],Digit4)
time.Sleep(0.006)
threading.Thread(target=drive_display).start()
def prompt():
number = input("new 4 digit number: ")
prompt()
prompt()
答案 0 :(得分:2)
你必须在线程函数中使用global
才能工作:
def prompt():
global number
number = raw_input("new 4 digit number: ")
prompt()
来自文档:
如果没有
,则无法分配全局变量global