2017-09-26 12 views
0

linuxのrs232行内の文字間時間を検出するには、Cでコードを実行する必要があります。文字間の検出時間は1msになります。だから私は非常にすぐにincomming文字をタイムスタンプするために何かが必要です。私が非常に迅速に言うときは1ms未満です。高速文字検出rs232

私はコード化の解決策を求めていませんが、私は最初の助けが必要な道を知りたいだけです。Linuxでこれを行うことは可能でしょうか?私はこの種の時間に達するためにドライバーを変更する必要がありますか?またはユーザーのスペース上の何かがそれを行うことができます(私はそうは思わない)。

+0

なぜ文字間時間を測定しようとしていますか?この時間は、通常ゼロになる可能性があります。メッセージ間のギャップを実際に検出しようとしている場合、たとえばModbusでは、実行可能なソリューションへの間違った道を歩んでいます。 – sawdust

+0

[時間の区切られたUARTデータの解析](https://stackoverflow.com/questions/27152926/parsing-time-delimited-uart-data)の重複の可能性あり – sawdust

答えて

2

ユーザー空間でこれを達成するチャンスはありません。正確な文字間タイムアウトを指定できるシリアルポート構成はありません。カスタムドライバをコーディングしていると、UART割り込みに近づく可能性があります。

私は同様のタスクを解決しなければならないたびに、タイムクリティカルなタスクを非常に正確に実行し、結果をLinuxマシンに報告する小さなハードウェアモジュールを作成しました。それは、あなたが必要としているものと、通信ギャップの検出がどれほど正確であるかに完全に依存します。

+0

この回答に感謝します。私の状況では、カスタムドライバを書くことは残念なことにハードウェアを変更するよりも簡単です。実際のUARTはマイクロコントローラに直接接続されているため、期待される精度を得ることができません。 –

+1

@romariccrailox [OK]を、それを試してみることができますが、あなたのドライバーが<1msの文字間のタイムアウトを測定するときに信頼できるとは思わない。ちょうど興味があります - なぜあなたはそのような正確なギャップ検出器が必要ですか? – vasek

+0

私は理解します、それはまた私の恐れです...私はいくつかの家のプロトコルのニーズのためにこのような精度が必要です。以前のソリューションはそれをしましたが(リアルタイムOS上にあったので)、いくつかの家のプロトコルがそれを使用しています。今では回帰を制限しようとしています... –

関連する問題