所以我有这个脚本用于控制LCD板,我希望每次按下按钮时都会改变背光,但也想做其他事情。目前这不起作用,它不会显示我想要的消息。
这是代码的变化背光位:
while True:
for b in btn:
if lcd.buttonPressed(b):
lcd.backlight(col[randint(0,5)])
然后我想继续运行一些代码,将字符串打印到lcd和东西,这样:
lcd.message("This is a string")
但脚本不会打印字符串,它只会停留在背光变化位上。
基本上我正在创建一个可以使用LCD按钮移动的字母索引,并希望每次按下按钮都能更改背光。
答案 0 :(得分:2)
标准方法是使用包含两者的单个循环。在循环中,您首先处理任何输入或状态更改。然后在循环结束时更新显示。这是游戏编程中相当常见的范例,请参阅pygame
以获取大量示例。然后,只有在程序终止后才会中断。值得指出的一件事是你不想阻止检查按键(或任何输入),否则你会等待显示器等待输入。
sudo代码将类似于:
while True:
for event in key_presses():
handle_event(event) # stuff that happens as a result of input
update_state() # stuff that happens regardless of input
update_display() # everything that changes the display (backlight, text, anything)