Linuxのシリアルポートに1.5ストップビットを使用できますか? POSIXではこれがサポートされていないようです。 POSIXインタフェースで1.5ストップビットが2ストップビットとして解釈されるpyserialのソースコードを調べました。シリアルポートのサポートコードのモノラルソースコードでは、1.5ストップビットは単純に処理されません。 1.5ビットのストップビットをサポートするために、LinuxにPOSIX以外の可能性のある/ドライバがありますか?おそらくFTDIまたはsilabsドライバを使用していますか?Linuxシリアルポート1.5ストップビット
1
A
答えて
1
シリアルコントローラと必要なワードサイズとは何ですか?通常、5ビットワード(CS5
)の場合、CSTOPB
フラグは、1または2ではなく、1.5ストップビットが送信されることを意味します。
例えば、8250 UARTため、Linuxは(drivers/tty/serial/8250/8250_port.c
で)これを行う:
static unsigned char serial8250_compute_lcr(struct uart_8250_port *up,
tcflag_t c_cflag)
{
unsigned char cval;
switch (c_cflag & CSIZE) {
case CS5:
cval = UART_LCR_WLEN5;
break;
case CS6:
cval = UART_LCR_WLEN6;
break;
case CS7:
cval = UART_LCR_WLEN7;
break;
default:
case CS8:
cval = UART_LCR_WLEN8;
break;
}
if (c_cflag & CSTOPB)
cval |= UART_LCR_STOP;
[…]
return cval;
}
UART_LCR_STOP
は0x04
として定義されます。
According to this documentation of the 8250 UART別れている場合、LCRレジスタのセットのビット2は
ストップビット= 1.5 5のビットワードまたは6 2、7又は8ビットワード
手段UARTでは、カーネルソースを見て、POSIXフラグがハードウェアにどのように渡され、ワイヤにどのような影響があるかを確認する必要があります。
関連する問題
- 1. Linux Cシリアルポート読み書き
- 2. Linux上のCygnal Integrated Productsシリアルポート
- 3. LinuxのシリアルポートのRAWモード
- 4. Linuxでのシリアルポート通信
- 5. C++ LinuxのシリアルポートにSTRINGSを書く
- 6. Linuxプラットフォーム用のシリアルポートにアクセスする
- 7. OS XまたはLinuxのシリアルポートとプログラム的に対話する
- 8. LinuxシリアルポートのI/Oに関する質問
- 9. C++ linuxはすべてのシリアルポートを検出します
- 10. Linuxのシリアルポート:何らかの理由コードの入力
- 11. Linuxで表示出力をシリアルポートに渡すには?
- 12. LinuxとCでシリアルポート経由でファイルを送信する
- 13. シリアルポートがLinuxのmonoでDataReceivedイベントに応答していない
- 14. 2つのLinux(バーチャル)ボックスをシリアルポート経由で話す
- 15. javaとRXTXのlibを使ったLinuxのシリアルポート通信
- 16. LinuxでシリアルポートttyS2とttyS3を有効にする
- 17. シムからのSMSメッセージをLinuxのシリアルポート経由で読むC
- 18. android-serialport-apiライブラリを使用してAndroidのシリアルポートのパリティ、ストップビット、データビットを設定するにはどうすればいいですか?
- 19. シリアルポート通信:シリアルポートを使用してシリアルポートをポーリングするDataReceivedイベント
- 20. 1.5
- 21. バーコードスキャナー - シリアルポート
- 22. シリアルポート読み込み後に最初の文字を変更するLinux termios
- 23. Linuxのシリアルポートから読み込むWindows C#コードを変更するには?
- 24. Linuxでpolkitを使用してシリアルポート権限を要求する方法は?
- 25. カーネルモード(Linux)でシリアルポートからデータ(文字)を読み取る方法は?
- 26. シリアルポートのPCM音声データをLinuxで音声デバイスに変換する
- 27. シリアルポートが存在するかどうかを確認する、Linux C/C++
- 28. シリアルポートの問題
- 29. シリアルポートの監視
- 30. のC#、シリアルポート
Windowsは1.5ストップビットをサポートしているので、シリアルポートインターフェイスはクロスプラットフォームでなければなりません。これは、POSIX以外の方法であれば、linuxでサポートされているかどうかを知りたかったのです。 'CSTOPB'がセットされているときに、2ビットの代わりに1.5ビットのストップビットを持つ5ビットワード(または何でも)を扱うソースコードを指すことができますか? – robotrovsky
8250 UARTで何が起こったのかの説明を追加しました。それが役に立てば幸い。 –