0

RS232 を使用して電圧入力を取得する方法はありますか? 私が今していることは、2台のPCをrs232に接続して、gnd、tx、およびrxピンを使用して通信することです。また、DTR をスイッチに接続し、スイッチを押すと LED を駆動するための電圧出力を得ることができます。私が今やりたいことは、LEDが点灯したときに、どういうわけか入力を取得し、mプログラミングでいくつかのものを変更することです. それは可能ですか?前もって感謝します。

PS私はC#プログラミングをしています

4

3 に答える 3

0

はい、可能です。やったよ。

エネルギー源の - (マイナス、アース) を RS232 RX ピンに接続するだけです (RX ピンがどこにあるかを確認するには、インターネットのどこかを参照してください)。このピンに電圧を (パルスとして) 与えると、ポートで無意味な動作が見られます。OnComm イベントは「Receive」として表示されますが、スタート ビットもストップ ビットもありません。まったく意味がありません。しかし、RS232 (COM ポート) を監視するプログラムは、ポートで何かが起こっていることを示します (HEX の ' 00 ' や ascii の '[00]' など)。

スタート ビットとストップ ビットがないと言ったように、その電圧は RS232 通信に必要な平均電圧ではないため、次のようなサブルーチンで検出する必要があります (他の方法では処理できません)。

1ms のタイマーを作成します。

timer1.enabled = false ----mscomm1.inbuffercount > 0 の場合は無効にすることを忘れないでください -----ここにコードを入力してください -----電圧が RX に現れたことを意味します -----たとえば、'buttonpresscount=buttonpresscount+1' end if waitfortheactionend をコーディングできます: if mscomm1.inbuffercount >0 then ----まだ無意味な電圧が残っている ----パルスが終了するまで待つので、イベントは waitfortheactionstop end if -- -- タイマーを再度有効にすることを忘れないでください timer1.enabled = true

これが役立つことを願っています。セダット K.

于 2016-05-25T21:59:50.257 に答える
0

直接ではありません。ポート RS323 は、常に 5 ボルトのデジタル信号を使用して通信します。電圧源と RS232 ポートの間にアナログ - デジタル コンバータ (ADC) が必要です。多くのオプションについては、sparkfun.com をチェックしてください。

于 2012-07-23T04:52:45.090 に答える
0

はい、いくつかの入力があります。まず、どれが入力であるかは、RS232 が DCE か DTE かによって異なります。もともとこの規格は、端末をモデムに接続するためにまとめられました。DCE はモデルで、DTE は端末です。ピン 1 を 1 に配線します。したがって、Tx はレシーバーまたはトランスミッターになることができます。

通常、PC は DTE です。そのことを念頭に置いて、この情報はより理にかなっているかもしれません: http://en.wikipedia.org/wiki/RS-232

電圧は公称 +-7V です。実際の標準範囲は +-3V から +-15V です。負の電圧は論理 1 であることに注意してください。

C# に関しては、すべてのピンにアクセスできます。クラス SerialPort を確認してください。

幸運を

ロブ

于 2012-07-23T04:54:15.713 に答える