2017-05-18 15 views
0

자습서를 따르는 동안 일부 텍스트를 표시하기 위해 LCD 화면을 얻으려고하고 있지만 자습서 코드와 광산 간의 유일한 차이점은 텍스트 메시지입니다.Raspberry pi2 Python adafruit_CharLCD SystemError : 예외없이 반환되는 오류

또한 필자는 배선 작업을 점검하고 기능에 대해 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

GPIO.py의 해당 줄 번호는 Raspberry Pi가 아닌 BeagleBone 지원의 일부입니다. 라이브러리가 플랫폼을 잘못 인식하고있는 것 같습니다. 어떻게 될지 모르지만 문제 해결에 도움이 될 것입니다. – jasonharper

+0

흥미 롭다. 나는 그것을 조사 할 것이다. – drako234

답변

0

이 오류가 강하게 CPython의 통역 자체에서 최대 거품 및 C 코드를 호출하기 무엇이든에 버그가 있음을 나타냅니다.

이 상황은 C로 구현 된 함수가 오류를 나타내는 NULL 값을 갖는 인터프리터로 반환되는 경우 발생합니다. 해석기는 함수가 리턴하기 전에 현재 스레드에 대한 예외 오브젝트를 설정해야합니다. 예외 개체가 설정되지 않은 경우 인터프리터는 SystemError을 안전하게 재생하고 C 코드가 오류 조건을 충족하지만 (어떤 이유로) 실제로 예외 개체를 제공하지 못했다고 가정합니다.

작성자가 예상하지 못한 기본 C 코드의 오류 경로가 부딪 힐 수도 있습니다. 직접 컴파일 할 수 있다면 인터프리터에 NULL을 반환하는 코드 경로를 디버깅하고 그 코드 경로가 사용 된 이유를 확인하십시오.

0

동일한 문제가 발생합니다. 나는 라스베리 파이 업데이트 소프트웨어를 다시 설치하려고합니다. (불필요한 패키지를 제거 깨진을 설치합니다, 업데이트 패키지 목록을 수정, 설치된 패키지를 업그레이드)

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

: 터미널에서 실행합니다.

또한 라이브러리 RPi.GPIO 및 Adafruit_BBIO 라이브러리를 다시 설치하십시오. Raspbian과 같은 데비안 기반 Linux에서. 터미널에서 실행 :

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 

그리고 파이썬 스크립트를 다시 실행하십시오.