LCD命令在线程内部无效

时间:2014-10-21 23:20:47

标签: python multithreading raspberry-pi lcd

我通过MCP23017 GPIO扩展器将16X2 LCD连接到pi。我面临的问题是下面的LCD代码在正常功能内或我单独调用它时。但它在我的程序中的任何线程内都不起作用。

 #!/usr/bin/python
    # Example script to show usage of MCP230xx GPIO extender to drive character LCD.

    from Adafruit_CharLCD import Adafruit_CharLCD
    from Adafruit_MCP230xx import MCP230XX_GPIO

    bus = 1         # Note you need to change the bus number to 0 if running on a revision 1     Raspberry Pi.
    address = 0x20  # I2C address of the MCP230xx chip.
    gpio_count = 8  # Number of GPIOs exposed by the MCP230xx chip, should be 8 or 16 depending on chip.

    # Create MCP230xx GPIO adapter.
    mcp = MCP230XX_GPIO(bus, address, gpio_count)

    # Create LCD, passing in MCP GPIO adapter.
    lcd = Adafruit_CharLCD(pin_rs=1, pin_e=2, pins_db=[3,4,5,6], GPIO=mcp)

    lcd.clear()
    lcd.message("  Adafruit 16x2\n  Standard LCD")

指向图书馆计划的链接, https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code/blob/master/Adafruit_CharLCD/Adafruit_CharLCD.py

https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code/blob/master/Adafruit_MCP230xx/Adafruit_MCP230xx.py

我实际计划的一部分:

def switch():
    mcp.config(0, mcp.INPUT)
    mcp.pullup(1,1)
    if ((mcp.input(1)>>1))
       lcd.clear()
       lcd.message("Switch open")

switchthread=threading.thread(target=switch)
switchthread.start()

有人可以告诉我如何让线程中的LCD命令工作吗?

0 个答案:

没有答案