私はpython接続を開くためにpyserialを使用しています:
self.fpga = serial.Serial(self.fpgaport, 115200, serial.EIGHTBITS, serial.PARITY_NONE, serial.STOPBITS_ONE, self.fpgapollinterval, False, False, None, False, None)
これは、次の pyserial ドキュメントと一致します。
__init__(port=None, baudrate=9600, bytesize=EIGHTBITS, parity=PARITY_NONE, stopbits=STOPBITS_ONE, timeout=None, xonxoff=False, rtscts=False, writeTimeout=None, dsrdtr=False, interCharTimeout=None)
ただし、スクリプトを実行すると、次のエラーが発生します。
line 391, in run
self.fpga = serial.Serial(self.fpgaport, 115200, serial.EIGHTBITS, serial.PARITY_NONE, serial.STOPBITS_ONE, self.fpgapollinterval, False, False, None, False, None)
TypeError: __init__() takes at most 11 arguments (12 given)
最後の引数 (最後の ) を取り出すNone
と、エラーはなくなります。
また、変数名が 1D を超える場合に備えて、すべての変数名を出力しました。そうでもない。
私はpython 2.6.6を使用しています。ドキュメントはpyserial 2.6用です。使用しているシリアルのバージョンを見つける方法を見つけるのに苦労しています。
11 個しか指定していないのに、Python が 12 個の引数を指定していると主張するのはなぜですか? ここで何かが欠けているに違いありません。
編集:
インストールしたシリアル バージョンを確認するにはどうすればよいですか? 私が実行しているこのコードは、おそらく別のバージョンの Python (およびシリアル) 用に記述されています。私が持っているシリアルバージョンが引数として何を望んでいるのかを知る必要があります。