- No : 146
- 公開日時 : 2007/03/01 03:00
-
印刷
データを送信すると、送信の処理からアプリケーションに戻ってきません。
データを送信すると、送信の処理からアプリケーションに戻ってきません。
データを送信すると、タイムアウトエラーが発生します。
- カテゴリー :
-
回答
対象製品型式: API-SIO(98/PC)
対象OS:
Windows Vista/XP/2000/NT/Me/98/95
関連情報:
ハードウェアフロー制御が影響しています。
■全ハードウェア共通
ハードウェアフロー制御を有効にしていると、CTS、DSRラインが未接続のとき(もしくはOFFのとき)は送信しま
せん。
ハードウェアフロー制御の指定はSioOpen関数で解除可能です。
SIOOPN構造体のdwHardFlowメンバに、SIO_HDFLOW_OFFを指定してください。
これによりデータ送信時のフロー制御がなくなり、無条件でデータ送信するので、タイムアウトは発生しません、
診断プログラム(CTstSio.exe)では、デフォルトでハードウェアフロー制御が有効になっています。
詳細設定時にフロー制御の設定から「DTR/DSR」「RTS/CTS」のチェックボックスを外してください。
サンプルプログラム(SIOVCPP6.EXEなど)では、デフォルトでハードウェアフロー制御が有効になっています。
初期設定時にハードウェアフロー制御の設定から「CTS」「DSR」のチェックボックスを外してください。
■RS-422A/485ボード使用時
CTSラインが未接続のとき(もしくはOFFのとき)は、ソフトウェアの設定に関係なく無条件に送信しません。
ボードのスイッチ設定で「RTS-CTSを自己ループ」の設定にしている場合は、RTSをONにすることにより自己ルー
プ先のCTSもONになりますので、送信が止まったりタイムアウトが発生したりすることはなくなります。
ボードのスイッチ設定で「RTS-CTSを相手機器に接続」の設定にしている場合は、相手機器のほうで、CTSと接続
する信号をONにすれば解消します。