//*********************************************************** // // ‚b‚s|‚R‚O‚O‚O‚` ƒIƒvƒVƒ‡ƒ““™”»’èƒvƒƒOƒ‰ƒ€ // // port_base : PCI I/O port base address define port_base 0x???? // —vC³ void fld_wait(short); main() { // ‚R‚O‚O‚O‚`^‚R‚O‚O‚Oƒ{[ƒh‚Ì”»’è outp(port_base+2,0xf); fld_wait(2); if(inp(port_base+2)&0x8) // UPDATE = 1 ? printf("This board is CT-3000A\n"); else printf("This board is CT-3000 (Old type)\n"); // A(1) / MEMORY ƒIƒvƒVƒ‡ƒ“‚Ì”»’è if(((inp(port_base+1)&0x13) == 3) || ((inp(port_base+1)&0x13) == 0x11)) printf("This board is CT-3000A(1)\n"); else printf("This board is CT-3000A (No Option-1)\n"); // A(2) / AVERAGING UNIT ƒIƒvƒVƒ‡ƒ“‚Ì”»’è outp(port_base+2,0x9); // ‚Q‰æ–Ê•½‹Ï fld_wait(2); if((inp(port_base+2)&0x8) == 0) // UPDATE bit = 0 ? @ printf("A(2) option exist.\n"); else printf("A(2) option not exist.\n"); // ő啽‹Ï‰ñ”‚Ì”»’è outp(port_base+2,0x40); // 8BIT_CULC bit = 1 if((inp(port_base+2)&0x40) == 0) printf("Max averaging = 256.\n"); else printf("Max averaging = 64.\n"); } // // f_numb@ƒtƒB[ƒ‹ƒh@ƒfƒBƒŒƒCŠÖ” // if_numb * ‚P‚UD‚U‚‚“ F // –³M†–”‚Í•W€•ûŽ®ƒrƒfƒI“ü—ÍŽžj // void fld_wait(short f_numb) { short i,flg; long wdt; for(i=0;i