シリアル ポートの tx (送信) ピンの状態がアクティブかどうかを問い合わせることはできますか?
たとえば、ブレーク コマンド (SetCommBreak) を発行すると、tx ピンがアクティブ (ロー) に設定されます。いつアクティブかどうか知りたいです。ありがとう。
シリアル ポートの tx (送信) ピンの状態がアクティブかどうかを問い合わせることはできますか?
たとえば、ブレーク コマンド (SetCommBreak) を発行すると、tx ピンがアクティブ (ロー) に設定されます。いつアクティブかどうか知りたいです。ありがとう。
いいえ(少なくとも可能性は低い)
「16550」ファミリの UART を使用している場合は、シリアル ポートの tx ピン ステータスを照会できないと確信しています。もちろん、新しいバージョンまたは他の UART ファミリを使用している場合は、そうかもしれません。
実行中は TX ピンが SPACE 状態 ('0'、+Volts) にあると想定できますがSetCommBreak()
、それだけでは十分ではないと思います。
ブレークが発生したかどうかを確認するためにコードをデバッグする場合は、9 ピン D-sub のピン 2 と 3 を短絡して、送信を受信にループ バックすることができます。ペーパークリップで十分です。受信コードは着信 BREAK を検出します。不適切なピンへの短絡は、適合するシリアル ポートに永続的な問題を引き起こすことはありませんが、注意が必要です。BREAK 条件をテストする前に、まず単純なデータでこれを試してください。
「16550」のような UART がある場合。
UART をループバック モードにして、発信 BREAK 信号を受信しているかどうかを確認できます。現在のPCではやや複雑です。他の UART タイプはループバックをサポートする場合があります。