// Copyright 2005 Doi Shigeki // list302.cpp スイッチ状態をLEDへエコーする // 〜USB_IOを使った外部制御の基礎 #include #include #include // kbhit() #include"list302.h" // USB関係の関数 main() { HANDLE husb; int r; BYTE x; 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"); while( 1 ){ PIORead( husb, 3, &x ); // ポートD から入力 x = ((x & 0x10 ) >> 1) + ((x & 0x20 ) >> 3) + ((x & 0x40 ) >> 5) + ((x & 0x80 ) >> 7) ; // テストボードとの結線の都合 PIOWrite( husb, 1, x ); // ポートB へ出力 if ( kbhit() ) break; } CloseHandle( husb ); }