0

考慮: https://github.com/dmichel76/ViSi-Genie-RaspPi-Library

raspbian から 4d パネルまで、シリアルの読み取りと書き込みを試みましたが、すべて正常に動作しました。

私はスライダー コントローラーを使用しようとしています。この方法では 1 分間動作し、読み取り時に -1 を返します。

import geniePi as D
import wiringpi2 as W

W.wiringPiSetup()
D.genieSetup("/dev/ttyAMA0", 115200)

while 1:
    a = D.genieReadObj(32,0)
    print ("a:" % (a))

この問題を解決するためにgenieGetReplyを見ています(ReadObjの使用を避けるため):

しかし、swig ファイルを見ると、genieReplyAvail が常に 0 と見なされているように見えます。

SWIGINTERN PyObject *_wrap_genieReplyAvail(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
  PyObject *resultobj = 0;
  int result;

したがって、genieGetReply() は呼び出されません。genieGetReply() を使用するには、構造体 genieReplyStruct のクラスを作成する必要があるようです。

x =D.genieReplyStruct()
D.genieGetReply(x)

(geniReplyAvail が 0 以外の値を取得しない場合、これは delay(1) ステートメントに永久に残ります)

これをどのように実装して呼び出す必要があるのか​​ 理解できないので、少しアドバイスをお願いします。

4

1 に答える 1

0

まったく同じ問題が発生しました。次のように修正しました:Workshopソフトウェアからのメッセージを報告したことを確認しましたか? ボタンを選択し、[イベント] タブに移動し、[変更時] に [メッセージを報告] を入力します。ビルド/ダウンロードして、再試行してください。今すぐ動作するはずです。それが役に立てば幸い。

于 2014-09-02T13:57:49.507 に答える