繁体   English   中英

Python-在脚本后台运行while循环

[英]Python- run a while loop in background of script

因此,我有这个脚本来控制LCD板,我希望在每次按下按钮时都可以改变背光,但是我也想做其他事情。 目前,这不起作用,并且不会显示我想要的消息。

这是代码的更改背光位:

while True:
    for b in btn:
        if lcd.buttonPressed(b):
            lcd.backlight(col[randint(0,5)])

然后,我想继续运行一些代码,以这种方式将字符串打印到液晶显示器和其他东西上:

lcd.message("This is a string")

但是脚本永远不会打印字符串,而只是停留在背光的y位置。

基本上,我正在创建一个字母索引,您可以使用LCD按钮浏览这些字母,并希望每次按按钮时改变背光。

标准方法是让一个循环包含两个循环。 在循环中,您首先要处理任何输入或状态更改。 然后,在循环结束时更新显示。 这是游戏编程中相当普遍的范例,有关大量示例,请参见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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM