我正在尝试在 python 中为闹钟编写一个菜单例程,它根据通过按钮的一些输入在 7 段显示器上显示相关信息。我设法创建了一个显示当前时间的循环,当单击“debMenu”按钮时,将显示 3 个菜单选项。这仅在第 3 次之前效果很好。到达菜单选项。当我再次按下按钮时,例程不起作用 - 因此不再调用函数“main_menu”。我做错了什么...?谢谢 !!
stop_loop = [False]
def main_menu(stop_loop, n=[0]):
stop_loop[0] = True
debSelect = DebouncedSwitch(butSelect, cbButSelect, "butSelect")
menuList = ['HO ', 'AL ', 'UP ']
if n[0] < 3:
display.scroll(menuList[n[0]], 200) #display menu on 7-seg display
display.show(menuList[n[0]])
n[0] += 1
elif n[0] == 3:
n=[0]
stop_loop[0] = False
main()
def main():
stop_loop[0] = False
debMenu = DebouncedSwitch(butMenu, main_menu, stop_loop)
while not stop_loop[0]: # display current time on 7-seg display
curTime = rtc.datetime()
display.numbers(curTime.hour, curTime.minute, False)
time.sleep_ms(500)
display.numbers(curTime.hour, curTime.minute)
time.sleep_ms(500)
main()