松尾です。 > Tera Term では > - 受信 > dcb.fRtsControl = RTS_CONTROL_HANDSHAKE; > あふれそうになったら RTS を下げ、戻ったら上げる自動制御 > - 送信 > dcb.fOutxCtsFlow = TRUE; > CTS(先方のReady) を見て自動制御 > で選択の余地がありません。(それで別に構わないと思います) 今回色々調べていて、CTS/RTS or DSR/DTR or XON/XOFF だと思っていたのが andもできるし、CTSだけ、という指定もできるようになっているのがわかりました。 そんなマニアックな設定しないですね。 > ttcomtester では > - 受信 > --rts が on/off > dcb.fRtsControl = RTS_CONTROL_DISABLE/RTS_CONTROL_ENABLE; > r であとから RTS をマニュアル変更が可能 > --rts が hs > dcb.fRtsControl = RTS_CONTROL_HANDSHAKE; > r であとからの変更はできない(API仕様どおり) > - 送信 > --rts が on/off > dcb.fOutxCtsFlow = FALSE; > --rts の指定で連動して変わる。 > --rts が hs > dcb.fOutxCtsFlow = TRUE; > CTS(先方のReady) を見て自動制御 > --rts の指定で連動して変わる。 > >> このAPIではRTSフローなし、CTSフローありの設定などもできますね。 > であるのに、送信フローの選択のために、受信フローのための > --rts hs を指定しなければならない、という説明になっているのが > 私にとっては分かりづらかったです。 --rts と --cts として各々指定できるようにするのが一番よさそうです。 最初は https://learn.microsoft.com/ja-jp/windows/win32/api/winbase/nf-winbase-buildcommdcba このAPIの文字列指定でやろうとしていました。 "rts=on" あたりがうまく使えなくて、オプションを作りました。 Micorosoftが使えないままにしていると思えないので 使い方が誤っていたのかなと思うのですがちょっと残念。 そのうち直そうと思います。