CH340Gでフロー制御効かない件への対応
CH340GというUSBシリアル変換を使うと、シリアル接続のハードウェアフロー制御が動かないという現象が発生する。 現時点で二人のユーザから報告が上がっている。
・ユーザ1 当方への個人問い合わせより。 ・ユーザ2 https://osdn.net/projects/ttssh2/ticket/39187
●原因 真因は不明だが、おそらくUSBシリアル変換のデバイスドライバの問題。
●調査状況 ユーザ1に対して、SetupComm の呼び出しを削除した版では正常動作することが確認できた。 ブランチ(r7742): branches/hardware_flow_notwork/
ユーザ2に対しては回答が来ないため不明。
●処置案 本件はTera Termの問題ではないと考えているが、シリアルポート設定で事象が回避できるようにしたい。 (1) 設定でSetupCommの呼び出し有無を変更できるようにする。
・teraterm.iniの設定を追加
; Using internal input and output buffer of serial device driver (on/off) UseDevcieInternalBuffer=off
・シリアルポート設定を追加
[ ] Use device's internal I/O buffer (英語) [ ] デバイスの送受信バッファを使う (日本語)
●ブランチ branches/CH340G_hw_flowctrl
●参考 SetupComm 関数 https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setupcomm
CH340GというUSBシリアル変換を使うと、シリアル接続のハードウェアフロー制御が動かないという現象が発生する。
現時点で二人のユーザから報告が上がっている。
・ユーザ1
当方への個人問い合わせより。
・ユーザ2
https://osdn.net/projects/ttssh2/ticket/39187
●原因
真因は不明だが、おそらくUSBシリアル変換のデバイスドライバの問題。
●調査状況
ユーザ1に対して、SetupComm の呼び出しを削除した版では正常動作することが確認できた。
ブランチ(r7742):
branches/hardware_flow_notwork/
ユーザ2に対しては回答が来ないため不明。
●処置案
本件はTera Termの問題ではないと考えているが、シリアルポート設定で事象が回避できるようにしたい。
(1) 設定でSetupCommの呼び出し有無を変更できるようにする。
・teraterm.iniの設定を追加
※デフォルトはoff。従来の動きを変えないようにするため。・シリアルポート設定を追加
※送信遅延の下にチェックボックスを追加する●ブランチ
branches/CH340G_hw_flowctrl
●参考
SetupComm 関数
https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setupcomm