VBでシリアル通信をしています。
USB接続のGPSからデータを受け取りたいのですが,VB6.0ではUSBによる
シリアル通信が対応していないそうなので,困っています。
GPS会社からVC++によるUSBシリアル通信のサンプルは頂いたのですが,
そのVC++のサンプルをVBで利用することは可能らしいのですが,
どのようにして利用すればいいのかわかりません。
何か良い方法がありましたら,教えてください。
(訂正)
すいません。VC++ではなくVCでした。
ドライバを作りたいのか、VCからの移植をしたいのか、
作ったDLLを使いたいのか、わからないです。
GPS自体使ったことないし。
USBによるシリアル通信ってのは直接I/Oを叩くってことですか?
なにに接続してようが、Comポートは通信できますよ。
シリアル通信というと、RS-232Cを思い浮かべてしまうのですが・・・
USBも一応シリアル通信ではあるんですよね。
一応、確認ですが、USB-RS232C変換ケーブルを使用するとかではないですよね?
もし、そうならプログラム的にはUSBを意識する必要はありません。
<そうでない場合>
USB通信の汎用ドライバなら、下記にありますよ。
http://www.otto.to/~kasiwano/
確か、VBのサンプルプログラムもあったと思います。
ちょっと記憶が曖昧ですが、
INIファイルか何かのベンダIDとプロダクトIDを書き換えないといけません。
USBデバイスのベンダIDとプロダクトIDを調べるには、
usbview.exeがいいと思います。
usbview.exeはDDKに含まれるソースをコンパイルすれば作成されます。
下記は情報が古くて98DDKなんですが、
OSに合ったDDKをダウンロードしてくださいね。
2KDDKまでは確かに存在してましたが、今はXPDDKなるものがあるのかな?
ドライバ・デベロップメント・キットなので、本来はドライバ作るキットです。
もし、バルク転送やアイソクロナス転送等のドライバを作りたいなら、
このキットにサンプルソースも含まれていたと思います。
http://hp.vector.co.jp/authors/VA014069/usb/
っとここまで書いてきましたが、GPSって事はおそらくRS-232Cなんだろうな〜。
#DGPSとか苦労したな〜。懐かしい・・・
>確か、VBのサンプルプログラムもあったと思います。
失礼、無いようですね。
API一覧.docにDLL内関数の説明がありますので、
それを見ながらご自分で作成してください。
というか、VCのサンプルがあるという事は、
ベンダからドライバが出ているという事なのかな?
そのドライバの使い方がわからないという事かな?
ちょっと質問の意味がわかりずらいです・・・
ツイート | ![]() |