2017-10-25 9 views
0

ラズベリーパイ3アプリケーションで実行時に定義されたボーレート、ストップビット、パリティなどを使用できるようにするアプレットが必要です。パラメータとして変数を使用してラズベリーpi 3シリアルポートを開くには

私は、固定パラメータを使用してアプレットをコーディングし、必要に応じてアプレットを動作させましたが、必要に応じてランタイム値を収集するようにコーディングしましたが、固定値ではなく変数を使用してシリアルポートを呼び出す方法を見つけることができません。

これは私が擬似コードに探しています私は

ser = serial.Serial(
    port='/dev/ttyUSB0', 
    baudrate=38400, 
    parity=serial.PARITY_NONE, 
    stopbits=serial.STOPBITS_ONE, 
    bytesize=serial.EIGHTBITS 
) 

で助けを必要とシリアルポートを開くための私のコードのビットは、何かアドバイスをいただければ幸いです

mybaud = "38400" 
myparity = "serial.PARITY_NONE" 
mystop = "serial.STOPBITS_ONE" 
mybyte = "serial.EIGHTBITS" 

ser = serial.Serial(
    port='/dev/ttyUSB0', 
    baudrate=mybaud, 
    parity=myparity, 
    stopbits=mystop, 
    bytesize=mybyte 
) 

です。

+0

なぜ文字列ではない値を引用符で囲みますか? –

+0

** serial.tools.list_ports.ListPortInfo ** [pyserial]のオブジェクト(http://pyserial.readthedocs.io/en/latest/tools.html#serial.tools.list_ports.ListPortInfo)には、以下の変数の情報があります。シリアルデバイス。 –

+0

私はシリアルデバイスの変数を理解していますが、プログラムから変数を使ってシリアルポートを設定するために値を渡したいと思っています。 –

答えて

0

ok、私の以前のプログラミング経験とnewbyのpythonのスキルが邪魔になりました。

単に変数に値を割り当て、変数名を使用すると、次の例のように機能します。

mybaud = 38400 
myparity = serial.PARITY_NONE 
mystop = serial.STOPBITS_ONE 
mybyte = serial.EIGHTBITS" 

ser = serial.Serial(
    port='/dev/ttyUSB0', 
    baudrate=mybaud, 
    parity=myparity, 
    stopbits=mystop, 
    bytesize=mybyte 
) 
関連する問題