Raspberry pi2 Python adafruit_CharLCD SystemError:错误返回无异常设置

时间:2017-05-18 19:27:37

标签: python raspberry-pi lcd adafruit

我正在尝试使用LCD屏幕显示一些文本,同时遵循教程,教程代码和我的唯一区别是文本消息。

我还检查了接线并测试了pi上的引脚功能。 我不明白为什么我会收到这个错误。

我的代码:

    from time import sleep
    import Adafruit_CharLCD as LCD

    lcd = LCD.Adafruit_CharLCD(rs=23, en=19, d4=13, d5=6, d6=5, d7=11, cols=16, lines=2)
    lcd.clear()

    lcd.message('hi\n guy')
    sleep(3)

我的错误

Traceback (most recent call last):
  File "lcd3.py", line 4, in <module>
    lcd = LCD.Adafruit_CharLCD(rs=23, en=19, d4=13, d5=6, d6=5, d7=11, cols=16, lines=2)
  File "/home/pi/Adafruit_CharLCD.py", line 143, in __init__
    gpio.setup(pin, GPIO.OUT)
  File "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO/GPIO.py", line 278, in setup
    pull_up_down=self._pud_mapping[pull_up_down])
SystemError: error return without exception set

2 个答案:

答案 0 :(得分:0)

这个错误从CPython-interpreter本身冒出来,并强烈表明任何C代码被调用的错误。

如果在C中实现的函数返回具有NULL值的解释器,则会出现这种情况,表示错误。解释器期望该函数在返回之前为当前线程设置异常对象。如果尚未设置异常对象,则解释器会在安全性时引发SystemError,并假定C代码遇到错误情况但由于某种原因而失败(实际上)提供异常对象。

您可能在作者没有预料到的底层C代码中遇到错误路径。如果您可以自己编译,请尝试调试将NULL返回给解释器的代码路径,并查看为何采用该代码路径。

答案 1 :(得分:0)

我遇到了同样的问题。我尝试重新安装raspberry pi更新软件。在终端执行:

sudo apt-get autoremove && sudo apt-get -f install && sudo apt-get update && sudo apt-get upgrade -y

(删除不需要的软件包,修复损坏的安装,更新软件包列表,升级已安装的软件包)。

还在像Raspbian这样的基于Debian的Linux上重新安装Library RPi.GPIO和Adafruit_BBIO库。在终端执行:

sudo apt-get install build-essential python-pip python-dev python-smbus git
git clone https://github.com/adafruit/Adafruit_Python_GPIO.git
cd Adafruit_Python_GPIO
sudo python setup.py install

重新运行python脚本,它的工作对我来说。