VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/04/26(Tue) 22:10
投稿者なまごん
URL
タイトルRe^2: MSCommについて

御回答有難う御座います。

>   こんな無茶なことを見たのは、初めてです・・・
>   通常、モード設定は、COMポートのオープン時に行い、あとはそれに従って
>   受信割り込みでデータを読み込むのですが・・・
>
>   受信イベントの中でモードの設定変更を行うのは、エラーしないからといって
>   行うのは、ナンセンスです。

おっしゃる通りです。デバック用に作ったものとはいえナンセンスでした。
以後気を付けます。


>   それと、『&hE0』を受信するなら、あくまでバイナリモードでしょう。
>
>   ご検討下さい。

バイナリモードでも試みたのですが、例えば、HEXで31(アスキーで1)を受信した場合に
buffer = MSComm1.InputのBuffer
のbufferにうまくデータが入ってくれません。
bufferの型も色々変えて見たのですが・・・
バイナリモードで使用するのは思考錯誤して今回が初めてなのですが、根本的にテキストモードと
使い方が違うのでしょうか?


> ※ E0を吐き出す機器が、ハード的にどうしようもないとのことですが
>   ブレーク信号を出すか、制御線を操作しても、それは変化しないの
>   か、もしくは、一定時間経過するか、何かコマンドを送信すれば、
>   止まるということでしょうか?
>
>   であれば、止まった時点で受信バッファにあるデータは、全て読み
>   ほかせばいいのではないでしょうか。どのみちそれ以降のデータし
>   か意味が無いので・・・

説明不足でした、申し訳有りません。
機器とは常時ケーブルは接続してパソコンは受信待ちの状態で、パソコンから
1定間隔で要求信号を出力しています。
頻繁ではないのですが、機器は電源が入ったり切れたりし、電源が入るたびに1回「E0」を出力してきま
す。
制御線は機器側が何も見ていないので繋がっていないのと同じ状態です。
また、機器の電源が入っているかどうかもパソコンから要求信号を出力して帰ってこないときに切れて
いる
と分かるので、いつ機器の電源が入るか分からない状態です。

テキストモードで受信すると1行の処理がかなり掛かってしまうため、要求信号を出力するのが
だいぶ遅れてしまい、その間のデータが取れなく、
バイナリモードだと処理時間は掛からないのですが、受信データがうまく変数に入らないため通常の受

が出来ない状態です。
受信データはSTX(02)・・・・・ETX(03)でくるので、バイナリモードでうまく受信できれば「E0」を
とばして読み込もうと思ったのですが・・・・

何か良い策はあるのでしょうか?
御教授願います。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -