タイトル : 助けてください。ブルー画面 投稿日 : 2008/02/06(Wed) 15:43 投稿者 : Pman
はじめまして。VB初心者です。 現在、MSCommでシリアルポートを使って、ファームウェアとの通信を行おうとしています。 しかし、blue toothが使っているポートを誤って使ってしまい、ブルー画面が出てしまいます。 以下、詳細です。少し長いですが、なるべく詳しく書きますので、 御一読と御回答よろしくお願いいたします。 1.まず、通信に使用できるポートを調べるため、 COM1〜COM16まで、 MSComm1.PortOpen = True にて、ためしにポートを開いて、エラーをチェックしてます。 ここで、ポートによって、err=8002、8012、0が出るので、 err=0,8012の時には、そのポートを「使用候補」として、 配列にためておきます。 2.次のステップで、前のステップで「使用候補」にしたポートをつかって、 実際に通信テストを行います。 通信テストでは、通信相手であるファームウェアに、 MSComm1.Output = "?" & Chr(&HD) を送ります。通常、通信がうまくいけば、ファームウェアから ”OK”が返ってくるようになっているので、 Form1.MSComm1.InputMode = comInputModeText Buffer = Form1.MSComm1.Input を使って無事に受け取れたポートが「真の使用ポート」であるとして、 それ以降そのポートを使って進めています。 3.しかし、ひとつ問題がありまして、 使っているパソコンが、blue toothを使っていて、 常にCOM5がblue toothに使われています。 このCOM5を使って、先ほどの MSComm1.Output = "?" & Chr(&HD) の作業をした瞬間、パソコンがブルー画面になってしまいます。 はじめは、err=8012と出ているにも関わらず、ポートを無理矢理使用しているから、 と思ったのですが、 他の、err=8012が出ているポートは、使用してもブルー画面になりません。 おそらく問題は、blue tooth で使っているポートを使って通信を行ってしまっている 事だと思われますが、 blue toothが使われているポートと、そうでないポートの見分けがつかないので、 (どれもerr=8012であるため) 逃げようがありません。。 どなたか、助けてください。よろしくお願いいたします。 |