RS232通信-定常状態信号を作成するために使用できますか?
-
04-07-2019 - |
質問
正直なところ、答えは「いいえ」だと思います。ただし、セカンドオピニオンを取得したいです。基本的に、安定した信号を別のマイクロコントローラーデバイスに送信するには1つのマイクロコントローラーデバイスが必要ですが、それらの間の通信にはRS232を使用しています。したがって、通信メッセージを作成/更新して、必要な処理を実行する必要があると思います。
あなたはどう思いますか
解決
DTR(Data Terminal Ready)、ピン20、またはDSR(Data Set Ready)、ピン6などを高に設定し、定常状態信号として保持する必要があります。これは、通信する準備ができているもう一方の端にデバイスがあることをモデム/端末が検出する方法です。それはすべて、ドライバーを介してハードウェアにアクセスするレベルに依存します。
[編集]これはデータの送信を伴いませんが、TX / RX、ピン2&を使用してデータを送信できます。 3。
他のヒント
固定電圧ですか?方形波ではありませんか? (文字U)breakコマンドはどうでしょう(コマンドと呼びたい場合)?
確かに、コントロールラインの1つを使用できます...または、TXから何かを具体的に探していますか?
質問が「TxラインのDC状態を変更できます」の場合、答えは、多くのuart(PCのものを含む)に「ブレイク」条件を作成するように依頼できるということです。回線の通常のアイドル状態に。
「ブレーク」をオン/オフにして、そのような行を切り替えることができます。
バーストのようなインターフェースを気にしないのであれば、そのようなことをすることは可能かもしれません。 1つのマイクロがバイトを送信し、もう1つのマイクロがそのバイトに対して何かをして、応答として送り返すことができます。
回線の両端を制御できる場合、rs-232のtxおよびrx回線を通常の論理回線に変換して、その情報を提供できる場合があります。
ただし、ほとんどの場合、各端は8つの可能なデジタル値を含むステータス情報のバイトを定期的に送信し、より多くのステータス情報を提供します。
メッセージを受信するたびに受信側のタイマーがリセットされます。タイマーがタイムアウトすると、メッセージの時間がかかりすぎて、不足しているステータスメッセージに対処できます。
他の人が指摘したように、ハードウェアフロー制御を使用している場合、いくつかのステータス行も利用できますが、多くの場合、これらの行は実装されていないため、オプションではありません。
-アダム
安定した信号の意味:
- 安定した文字のバースト:送信バッファをいっぱいに保ちます
- 回線の高低を保持:何も送信しないか、連続して改行を送信します
使用しているUARTに大きく依存していると思います。 リンクテキスト、およびソフトウェアでのアクセスレベル。データシートを確認すると、多くの場合、テスト目的でほとんどのピンを直接制御する方法がありますが、かなり低いレベルから始める必要があります。
より高いレベルでは、tvanfossonの答えは私がやろうとしている方法とほぼ同じです。
最初の答えは正しいですが、多くのマイクロコントローラーにはこれらの信号がないため、多くのマイクロコントローラーで(DTRまたはDSRを使用して)この手法を使用することはできません(多くのマイクロコントローラーには基本的なRX / TXラインがあり、追加の制御/ステータスラインが必要な場合、他のI / Oポートを使用する必要がありますが、すべてが失われるわけではないため、多くのRS232コントローラーでTXラインを「マーク」または「スペース」に設定できます(つまり、TXラインを設定します)これにより、定常状態の信号を取得できるようになります。レシーバーのRXラインをチェックして、マークレベルまたはスペースレベルかどうかを確認できます。