2017-05-18 12 views
0

チュートリアルの後にテキストを表示するためにLCD画面を表示しようとしていますが、チュートリアルコードと私の唯一の違いはテキストメッセージです。Raspberry pi2 Python adafruit_CharLCD SystemError:例外を返さずにエラーを返す

また、私の配線をチェックして、ピンの機能をテストしました。 なぜこのエラーが発生するのか分かりません。

私のコード:

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の行番号は、BeagleBoneサポートの一部であり、Raspberry Piではありません。ライブラリが明らかにあなたのプラットフォームを誤検出しています。どのように起こるか分かりませんが、これで問題を追跡するヒントが得られます。 – 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のようなDebianベースの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 

そして、私のためのpythonスクリプトを再実行します。

関連する問題