ドアが開いているかどうかを監視する必要があります。ドアが閉まっている限り+ 5V DCを生成し続けるセンサがありますが、ドアが開かれると0Vに低下します。シリアルポートへの固定電圧の送信
これでセンサーの出力線をPCのシリアルポートに接続し、ポートを連続的にポーリングするプログラムを作成する必要があります。
私の考えでは、私の考えではボーレートなどのさまざまなシリアルI/Oパラメータは関係ありません。私が読んだバイトごとに、ドアが閉じているときに値が255(論理1)になると思っています。さもなければ、私はドアが開けられたと仮定します。この論理に欠陥がありますか?
私はSending a voltage to RS232を経由しました。それは、私はピン2(RX)にワイヤを接続する必要があるようです。しかし、シリアルポートが論理1を受信するためには、電圧は-3Vと-12Vの間である必要があるようです。私のセンサが生成する電圧は正の値なので、センサのワイヤをピン5(GND)に接続し、ピン2をグランドに接続すると思います。実際には、電圧を反転させた。これは動作しますか?
このロジックに欠陥がある場合は、電圧インバータを購入する必要があります。
最後に、マザーボードのシリアルポートのピン5に何も接続しないでください。明らかに、それはシャーシに接地することがハードワイヤードである。これは本当ですか?よろしく。
プログラミングに関する質問ではないので、あなたの投稿はおそらくこのサイトのトピックではありません。また、あなたは間違った仮定を突きつけてしまいました。あなたが行った研究はほとんど何も間違っています。少なくとも「電圧インバータ」*ではなく、コンバータ(RS232へのロジック)が必要です。 – sawdust
ありがとうございました。質問には2つの部分があります。プログラミング中に、ボーレートなどを心配する必要がありますか、または単にバイト後にバイトを読み続ける必要がありますか?また、私が持っているものがすべて最高または最低のときにコンバータが必要なのはなぜですか? – Peter
RS-232は、文字ごとにフレーミング(開始ビットと停止ビット)を使用します。一定の電圧が入力フレーム/文字として検出されることはありません。適切な電圧レベルと極性を生成できる場合は、RxD入力のアイドル(マーク状態)とブレーク(スペース状態)を使用できます。 RS-232は信号レベル(通常+ 12Vと-12V)に正と負の両方の電圧を使用します。ゼロボルトは信号レベルとして使用されません。基本的なRS-232の知識です。 – sawdust