Linuxでシリアルポートを設定する最も簡単な方法は何ですか?


13

シリアルポートを構成するWindowsコマンドプロンプトで、簡単に使用できます。

mode com1: 9600,n,8,1

または設定を読み取るには:

mode com1:

Linuxに同様のコマンドはありますか?Linuxでシリアルポートを見つけて設定する最も簡単な方法は何でしょうか?


通常は、シリアルのアクセスに使用するアプリケーションscreen /dev/ttyS0 <baud-rate>などで
直接

POSプリンターを使用するように構成する必要があります。
Hrvoje T

OK、その場合に試すsttyに言及したコマンドを:wiki.openwrt.org/doc/recipes/serialbaudratespeed
PHK

回答:


27

sttyコマンドを使用して、そのようなパラメーターを設定できます。

これにより、最初のシリアルポートのすべての設定が表示されます(USBシリアルポートを使用ttyS0しているttyUSB0場合はに置き換えます)。

stty -F /dev/ttyS0 -a

これにより、ボーレートが9600、8ビット、1ストップビット、パリティなしに設定されます。

stty -F /dev/ttyS0 9600 cs8 -cstopb -parenb

一般に人々を混乱させる1つのことは、デバイスが閉じられると(つまり、プロセスがデバイスを開いていない場合)、ほとんどのシリアルドライバーは設定をデフォルトにリセットすることです。したがって、上記のsttyコマンドは設定を設定し、それが完了するとドライバーはそれらを再びリセットします。最初にPOSソフトウェアでデバイスを開いてからstty設定を行った場合、POSソフトウェアがデバイスを再び閉じるまで(たとえば、終了時に)、設定は固執するはずです。

POSソフトウェアには、これらの設定を独自に構成する方法がいくつかあるはずだと思っていました。プリンターを駆動する独自のソフトウェアを作成している場合は、まずデバイスを開いてから、sttyコマンドを実行してください。

またopost、出力後処理が実行されることを意味するなど、他の設定を試してみる必要がある場合もあります。場合opostonlcr両方が設定されている、onlcr改行(は0xa)バイトのような印刷階段を防止するために、典型的には、出力された場合、余分なキャリッジリターン(の0xd)を追加することになります

This is a line
              This is the next line

これは必要な場合とそうでない場合があります。プリンターへの1対1の生出力が必要な場合は、opostオフ-opostにしsttyます(パラメーターに追加します)。

ハンドシェイク(フロー制御)もで制御されsttyますが、プリンターについて何も知らなければ、何かを設定する必要があるかどうかわかりません。

詳細については、sttyマンページを確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.