我正在尝试使用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
答案 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脚本,它的工作对我来说。