タイトル | : 助けてください。ブルー画面 |
記事No | : 11343 |
投稿日 | : 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であるため)
逃げようがありません。。
どなたか、助けてください。よろしくお願いいたします。
|