• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+
イイね!
2010年06月12日

GPSをUSBに PC側のプログラムサンプル

PC側(Visual C++ 6.0)
USBのドライバーはUUSBD Beta2
UUSBD.INFは以下のように設定



;
; Uusbd setup INF file ver 2.0
; kasiwano masahiro
;
;
;
[Version]
Signature="$CHICAGO$"
Class=UUSBD
ClassGUID={69910468-8802-11d3-ABC7-A756B2FDFB29}
provider=%KASHIWANO%


[ClassInstall]
Addreg=USBClassReg

[ClassInstall32]
Addreg=USBClassReg

[USBClassReg]
HKR,,,,%UUSBDClassName%
HKR,,Icon,,-20

[Manufacturer]
%MfgName%=Kashiwano

[Kashiwano]
;新しいデバイスを追加する場合はこの下に追加するデバイスの
;Vendor ID,Product IDを調べ例にならって記述する。複数行記述可。
;これに対応して[Strings]セクションも変更すること
;
;例
; %USB\VID_0627&PID_0002.DeviceDesc%=UUSBD.Dev, USB\VID_0627&PID_0002
; ~~~~ ~~~~ ~~~~ ~~~~
%USB\VID_04A1&PID_0002.DeviceDesc%=UUSBD.Dev, USB\VID_04A1&PID_0002
;%USB\CLASS_FF.DeviceDesc%=USBD.Dev, USB\CLASS_FF
%USB\VID_04A0&PID_0001.DeviceDesc%=UUSBD.Dev, USB\VID_04A0&PID_0001


[PreCopySection]
HKR,,NoSetupUI,,1

[DestinationDirs]
UUSBD.Files.Ext = 10,System32\Drivers
UUSBD.Files.Inf = 10,INF

[UUSBD.Dev]
CopyFiles=UUSBD.Files.Ext, UUSBD.Files.Inf
AddReg=UUSBD.AddReg

[UUSBD.Dev.HW]
AddReg=UUSBD.AddReg.HW

[UUSBD.Dev.NT]
CopyFiles=UUSBD.Files.Ext, UUSBD.Files.Inf
AddReg=UUSBD.AddReg

[UUSBD.Dev.NT.Services]
Addservice = UUSBD, 0x00000002, UUSBD.AddService

[UUSBD.AddService]
DisplayName = %UUSBD.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 2 ; SERVICE_AUTO_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %10%\System32\Drivers\uusbd.sys
LoadOrderGroup = Base

[UUSBD.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,uusbd.sys

;MaxTransferSizeの値を変更する場合は次の4行のようにして
;値を設定する。
;[UUSBD.Dev.NT.HW]
;AddReg=UUSBD.AddReg.HW
;
;[UUSBD.AddReg.HW]
;HKR,,"MaxTransferSize",0x00010001,0x40000
; ~~~~~~~~ここに値を書く

[UUSBD.Files.Ext]
uusbd.sys

[UUSBD.Files.Inf]
uusbd.Inf

;---------------------------------------------------------------;

[Strings]
KASHIWANO="Kashiwano"
MfgName="Kashiwano soft"
UUSBD.SvcDesc="Universal USB Driver"
UUSBDClassName="UUSBD用USBデバイス"

;
;デバイスを追加したら、ここにそのデバイスの名前を記述すること
;例
; USB\VID_0627&PID_0002.DeviceDesc="Universal USB Driver (Mouse)"
;
USB\VID_04A1&PID_0002.DeviceDesc="Universal USB Driver (RallyConputer)"
USB\VID_04A0&PID_0001.DeviceDesc="Universal USB Driver (GPS_module)" 





まずは、USB機器のオープン処理

husb=Uusbd_Open_mask(UU_MASK_VENDOR&&UU_MASK_PRODUCT,0xFF,0xFF,0x04A1,0x0002,0);
if(husb == INVALID_HANDLE_VALUE) {
・・・・・・エラー処理・・・・・・・・・

}
else {
sprintf( charbuf, "USBデバイスと接続しました");
AfxMessageBox(charbuf);

USBOPEN_OK=OK;

EP1 = Uusbd_OpenPipe(husb, 0, 0);// デバイスのインターフェース0パイプ0のハンドルを得る
EP2 = Uusbd_OpenPipe(husb, 0, 1);// デバイスのインターフェース0パイプ1のハンドルを得る
}


オープンがあるならば終了はクローズ処理
ここでパイプを終了しないで!!いきなりハンドルをクローズすると、最悪PCが落ちます

Uusbd_AbortPipe(EP1);//パイプ0をクローズ
Uusbd_AbortPipe(EP2);//パイプ1をクローズ
CloseHandle(EP1);//開いたUSBのハンドルEP1をクローズ
CloseHandle(EP2);//開いたUSBのハンドルEP2をクローズ
   Uusbd_Close(husb);


書き込み処理

Write_eroor=WriteFile(EP2, "R\r", 21, &size, NULL);//Rという文字列をUSBバッファに書き込む

if(!Write_eroor){

Uusbd_AbortPipe(EP1);
Uusbd_AbortPipe(EP2);
CloseHandle(EP2);
CloseHandle(EP1);
Uusbd_Close(husb);
sprintf( charbuf, "USBデバイスが抜き取られました。プログラムを再起動して下さい。");
AfxMessageBox(charbuf);

ここに故意にUSBが抜き取られた場合の処理を入れる

}
ブログ一覧 | クルマ
Posted at 2010/06/12 22:04:43

イイね!0件



今、あなたにおすすめ

ブログ人気記事

墓参り行って来ました💨
伯父貴さん

オフ会に協賛させていただきました~ ...
FJ CRAFTさん

曇り?雨?(朝から)
らんさまさん

アベイルでホンダグッズを買いました ...
ウールさんさん

ちょっと‼️この噂知ってた😳⁉️ ...
なぉなぉちゃんver.2さん

関西帰省のついでに・・・ 3月オー ...
pikamatsuさん

この記事へのコメント

コメントはありません。

プロフィール

「[整備] #クラウンハイブリッド CANインベーダーアタック防御装置をAIで開発してみた https://minkara.carview.co.jp/userid/552794/car/2584349/8285344/note.aspx
何シテル?   07/01 21:42
アイコンもなくUNNOWNな人や,ブログ・整備手帳も全くない不気味な方、女子と勘違いされてフォロー申請された方は 「絶対にフォローしません」 臭いで分かりま...
みんカラ新規会員登録

ユーザー内検索

<< 2025/8 >>

     12
3456789
10111213141516
17181920212223
24252627282930
31      

リンク・クリップ

KICKER L7TDF12 
カテゴリ:その他(カテゴリ未設定)
2025/05/10 11:45:11
MAXWINドラレコカメラ修理 
カテゴリ:その他(カテゴリ未設定)
2025/05/03 06:00:24
BSM取付 
カテゴリ:その他(カテゴリ未設定)
2025/02/08 01:18:22

愛車一覧

トヨタ クラウンハイブリッド ジャイ子2号 (トヨタ クラウンハイブリッド)
新型クラウンです 納車2018 7月初旬工場出荷 納車されました 車体は1000番の初期 ...
トヨタ プリウス トヨタ プリウス
クラウンが雪害で破損したための代車
ダイハツ タフト よっこら正一 (ダイハツ タフト)
買い物下駄に注文しちゃったぜ 大雪にはクラウンは、もったいないってことで
トヨタ ルーミー 下駄 (トヨタ ルーミー)
下駄です!あくまでも下駄(笑 Dのオネーたまの甘い誘惑に騙され、近所の買い物に発表1か月 ...

過去のブログ

2025年
01月02月03月04月05月06月
07月08月09月10月11月12月
2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2023年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2021年
01月02月03月04月05月06月
07月08月09月10月11月12月
2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2019年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
2016年
01月02月03月04月05月06月
07月08月09月10月11月12月
2015年
01月02月03月04月05月06月
07月08月09月10月11月12月
2014年
01月02月03月04月05月06月
07月08月09月10月11月12月
2013年
01月02月03月04月05月06月
07月08月09月10月11月12月
2012年
01月02月03月04月05月06月
07月08月09月10月11月12月
2011年
01月02月03月04月05月06月
07月08月09月10月11月12月
2010年
01月02月03月04月05月06月
07月08月09月10月11月12月
2009年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ

あなたの愛車、今いくら?

複数社の査定額を比較して愛車の最高額を調べよう!

あなたの愛車、今いくら?
メーカー
モデル
年式
走行距離(km)
© LY Corporation