掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
シリアル通信でのフロー制御 (ID:18162)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> SysinternalsのPortmonを使用してWindowsでのオープンをモニタしてみてください。 > http://www.sysinternals.com/Utilities/Portmon.html > Xon/Xoffフロー制御付でオープンされているか確認できます。 使ってみましたが、どれがXon/Xoffの設定なのかわからないような感じですけど。 行頭省略ですが、こんな感じでログを拾っています。 RP_MJ_CREATE Serial0 SUCCESS Options: Open OCTL_SERIAL_SET_QUEUE_SIZE Serial0 SUCCESS InSize: 4096 OutSize: 4096 OCTL_SERIAL_PURGE Serial0 SUCCESS Purge: TXABORT RXABORT TXCLEAR RXCLEAR OCTL_SERIAL_SET_TIMEOUTS Serial0 SUCCESS RI:-1 RM:0 RC:1000 WM:0 WC:1000 OCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS OCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS OCTL_SERIAL_GET_CHARS Serial0 SUCCESS OCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS OCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS OCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial0 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:12 Replace:40 XonLimit:2048 XoffLimit:512 IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS GetCommState(FHandle, FDCB); FDCB.BaudRate := 9600; SetCommState(FHandle, FDCB); こんな感じで、設定を次々変更した分だけIOCTL_SERIAL_SET_〜が発生しているような感じです。 ソフト側で、Xon/Xoff対応に書き換えてみたのですが、希望の結果が得られません。 ちょっと思ったのが、送信タイミングが早すぎて、Xoffが返ってきたときにはすでに バッファあふれ確定データを送信しちゃっているのかもしれません。 となると、1バイト毎に、Xoffが返ってくるかどうか待機しないといけないということに?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.