// Copyright 2005 Doi Shigeki // list305.cpp スイッチのon/offをカウントする // 〜USB_IOを使った外部制御の基礎 #include #include #include // kbhit() #include"list302.h" // USB関係の関数 main() { HANDLE husb; int r,n; BYTE x,x0; printf("CQ_USBのテスト\n"); husb = CreateFile( "\\\\.\\Ezusb-0", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0); printf("ハンドル値 = %d \n",(int)husb ); if( (int)husb < 0 ){ printf("USBデバイスがオープンできません\n"); return 0; } r = SetPortConfig( husb, 0, // PIOモード 0, 0,0,0,1,0); // PBのみ出力 printf("コンフィグレーション結果 = %d( 0以外:ok) \n", r); printf("何かキーを押すと終了します\n"); x0 = 0;n = 0; while( 1 ){ PIORead( husb, 3, &x ); // ポートD から入力 x = (x & 0x10 ); // スイッチ0はPD4へ接続 if( x0 != x ){ // 前回サンプル値と異なる if( x ){ // +エッジ n++; PIOWrite( husb, 1, n ); // ポートB へ出力 } x0 = x; // 前回サンプル値を更新 } if ( kbhit() ) break; Sleep( 10 ); // 時間待ち10msec } CloseHandle( husb ); }