Linux のシリアル ポートを介して、 で定義されていない非標準ボー レートのデバイスと通信したいと考えていtermios.h
ます。
この投稿の「ボーレートエイリアシング」方法を試しましたが、Cプログラム(「testprogram」と名付けました)を実行すると、Linuxは次のように言います"testprogram sets custom speed on ttyS0. This is deprecated."
Google で検索したところ、ボーレートを非標準値に変更する別の (新しい?) 方法があるようです: On http://sourceware.org/ml/libc-help/2009-06 /msg00016.html著者は、c_flag
のstruct termios
は と OR する必要があると言っていBOTHER (=CBAUDEX | B0)
ます。
この方法では、ボー レートは のc_ispeed
およびc_ospeed
メンバに直接設定されstruct termios
ます。ただし、C プログラムでこのメソッドを使用する方法がわかりません。著者が言ったようBOTHER
に、 を含めると定義済み/利用可能はありませtermios.h
ん。このようにボーレートを設定するにはどうすればよいですか?
カーネルを変更せずにボーレートを非標準値に設定するにはどうすればよいですか?