Windowsコマンドプロンプトでシリアルポートを構成するには、次のように簡単に使用できます。
mode com1: 9600,n,8,1
または構成を読み取るには:
mode com1:
Linuxにも同様のコマンドはありますか? Linuxでシリアルポートを見つけて設定する最も簡単な方法は何でしょうか?
stty
コマンドを使用して、このようなパラメーターを設定できます。
これにより、最初のシリアルポートのすべての設定が表示されます(ttyS0
とttyUSB0
USBシリアルポートを使用している場合):
stty -F /dev/ttyS0 -a
これにより、ボーレートが9600、8ビット、1ストップビット、パリティなしに設定されます。
stty -F /dev/ttyS0 9600 cs8 -cstopb -parenb
一般的に人々を混乱させることの1つは、デバイスが閉じられると(つまり、プロセスがデバイスを開いていない場合)、ほとんどのシリアルドライバーが設定をデフォルトにリセットすることです。したがって、上記のstty
コマンドは設定を設定し、それが完了すると、ドライバはそれらを再びリセットします。最初にPOSソフトウェアでデバイスを開いてからstty
設定を実行すると、POSソフトウェアがデバイスを再び閉じるまで(たとえば、終了時に)設定が保持されます。
POSソフトウェアには、これらの設定を独自に構成する方法がいくつかあるはずだと思っていました。プリンターを駆動する独自のソフトウェアを作成している場合は、まずデバイスを開いてから、stty
コマンドを実行してください。
また、他の設定を試す必要がある場合もあります。 opost
は、出力の後処理が実行されることを意味します。 opost
とonlcr
の両方が設定されている場合、改行(0xa)バイトが出力されたときに、onlcr
によって余分な改行(0xd)が追加され、階段印刷など
This is a line
This is the next line
これは必要な場合とそうでない場合があります。プリンターへの1対1の生の出力が必要な場合は、opost
をオフにします(-opost
からstty
パラメータへ)。
ハンドシェイク(フロー制御)もstty
を使用して制御されます。プリンターについて何も知らなければ、何かを設定する必要があるかどうかわかりません。
詳細については、stty
のマンページを確認してください。