PC-MODULE / PC-HELPER API-PAC(W32 DIO
http://www.contec.co.jp/ http://www.contec.com/ http://www.contec.com.cn/ PDF / ( E-mail(tsc@contec.co.jp FAX E-mail Question FAX Question FAX Question API-PAC(W32RM/DIO i
FA/LA FA/LA OEM / ODM OEM E-mail(sales@contec.co.jp ii API-PAC(W32RM/DIO
(1 (2 (3 (4 (5 MS Microsoft Windows Windows NT MS-DOS Microsoft Corporation API-PAC(W32RM/DIO iii
... i... i (... i... ii... ii... ii FA/LA... ii OEM... ii...iii...iii...iii... iv 1... 1... 2 CompactPCI... 2 PCI... 2 E... 2... 3... 3 PIO-32DM(PCI... 3... 4... 5 Visual Basic.NET Visual C++.NET... 7 Visual Basic.NET... 7 Visual C++.NET... 8 Borland Delphi... 9 Borland Delphi... 9... 10 Windows Me/98/95... 11 Windows XP/2000/NT... 11 13... 13 DioOpen... 15 DioOpenEx... 17 DioClose... 19 DioWait... 20 iv API-PAC(W32RM/DIO
DioWaitEx...21 DioSFilter...22 DioUseMutex...24 Dio8255Mode...25 DioGet8255Mode...27 DioSetIoDirection...29 DioGetIoDirection...31 DioInpByte...33 DioOutByte...35 DioEchoBackByte...37 DioInpBit...39 DioOutBit...41 DioEchoBackBit...43 DioInp...45 DINP...47 DioOut...48 DOUT...50 DioEchoBack...51 DINP...53 DioBitInp...54 DBINP...56 DioBitOut...57 DBOUT...59 DioBitEchoBack...60 DBINP...62 DioInpBack...63 DINPB...67 DioOutBack...68 DOUTB...72 DioBitInpBack...73 DBINPB...77 DioBitOutBack...78 DBOUTB...82 DioSts...83 DioStop...85 DioPtnSet...86 DPTNSET...88 API-PAC(W32RM/DIO v
DioPtnStart... 89 DioPtnSts... 91 DioTrgSet... 92 DTRGSET... 95 DioTrgStart... 97 DioTrgSts... 99 DioInpBCD...101 DIBCD...103 DioOutBCD...104 DOBCD...106 DioNInpBCD...107 DIBCD...109 DioNOutBCD...110 DOBCD...112 DioEvent...113 DioIntEnable...118 DioIntSence...119 DioEventEx...122 DioIntEnableEx...127 LpByte...129 LpWord...129 LpDWord...129...130 PIO-32DM(PCI 135...135 Windows Me/98/95...135 Windows XP/2000/NT 2...135...136...142...142 DioOpen...143 DioOpenEx...145 DioClose...146 DioDmSetDirection...147 DioDmSetStandAlone...148 DioDmSetSetMasterCfg...149 vi API-PAC(W32RM/DIO
DioDmSetSlaveCfg...152 DioDmSetStartTrg...154 DioDmSetStartPattern...156 DioDmSetClockTrg...158 DioDmSetInternalClock...160 DioDmSetStopTrg...162 DioDmSetStopNum...164 DioDmReset...166 DioDmSetBuff...167 DioDmStart...169 DioDmStop...170 DioDmGetStatus...171 DioDmGetCount...173 DioDmSetStopEvent...175 DioDmSetCountEvent...177 DioDmInpDWord...179 DioDmOutDWord...180 DioEvent...181 DioIntSence...183 DioIntEnable...184 DioEventEx...185 DioIntEnableEx...187...189...191...191 (PIO-32DM(PCI...192 (SC...193 195 API-PAC(W32RM/DIO vii
viii API-PAC(W32RM/DIO
API-DIO(98/PCW95 Microsoft Windows XP/Me/98/95 (VxD DLL Windows 98/95 API-DIO(98/PCNT Microsoft Windows XP/2000/NT (SYS DLL Windows 2000/NT PIO-32DM(PCI API-DIO(98/PCW95 API-DIO(98/PCNT PIO-32DM(PCI 2 3 API-PAC(W32RM/DIO 1
CompactPCI Win32 API CompactPCI 4 PCI Win32 API PCI 4 E Win32 API E 4 2 API-PAC(W32RM/DIO
API-PAC(W32RM/DIO 3 Win32 API 4 Win32 API 4 ( LSIi8255 ( 8255 PIO-32DM(PCI PIO-32DM(PCI ( / 20MHz ( 20MHz ( PIO ( 4 PIO-32DM(PCI I/O API-DIO(98/PCW95 API-DIO(98/PCNT
API-TOOL API-PAC(W32 API-TOOL DIO5TD.HLP API-DIO HWINSTJ.HLP Q&A 4 4 API-PAC(W32RM/DIO
OS Microsoft Windows Me Microsoft Windows 98 Second Edition Microsoft Windows 95 Microsoft Windows XP Professional Microsoft Windows XP Home Edition Microsoft Windows 2000 Professional Microsoft Windows NT Workstation Ver.3.51 Ver.4.0 Microsoft Windows NT Ver.4.0 Terminal Server Edition Microsoft Windows NT Server Ver.3.51 Ver.4.0 ( Visual C++.Net 2002 2003 *1 Visual C++ Visual Basic.Net 2002 2003 *1 Visual Basic (32bit Borland C++ Builder Borland C++ Ver.2.0 Ver.4.x Ver.5.0 Ver.6.0 Ver.4.0 Ver.5.0 Ver.6.0 Ver.5.0 Ver.6.0 Ver.4.5x Ver.5.0 Borland Delphi Ver.3.0 Ver.4.0 Ver.5.0 Ver.6.0 *2 4 1 *3 4 1 IBM PC/AT DOS/V NEC PC98-NX NEC PC-9800 PCI PI-128L(PCI PI-64L(PCIH PI-32L(PCIH PI-64L(PCI PI-32L(PCI PI-32B(PCIH PI-32B(PCI PO-128L(PCI PO-64L(PCIH PO-32L(PCIH PO-64L(PCI PO-32L(PCI PO-32B(PCIH PO-32B(PCI PIO-64/64L(PCI PIO-32/32L(PCIH PIO-32/32L(PCI PIO-32/32B(PCIH PIO-32/32B(PCI PIO-32/32F(PCI PIO-32/32T(PCI PIO-16/16L(PCIH PIO-16/16L(PCI PIO-16/16RY(PCI PIO-16/16B(PCIH PIO-16/16B(PCI PIO-16/16T(PCI PIO-16/16TB(PCI RRY-16C(PCI RRY-32(PCI PIO-48D(PCI PIO-32DM(PCI LowProfile PCI PIO-16/16L(LPCIH PIO-16/16B(LPCIH PIO-16/16T(LPCIH CompactPCI PI-64L(CPCI PO-64L(CPCI PIO-32/32L(CPCI PC PIO-24W(PM PIO-32D(PM PIO-16/16L(PM ISA PI-64L(PC PI-64T(PC PO-64L(PC PO-64T(PC PIO-32/32L(PC PIO-32/32RL(PC PIO-32/32T(PC PI-32L(PCH PI-32L(PCV PI-32B(PC PI-32B(PCH PI-32TB(PC PI-32T(PCH PI-32RL(PC PO-32L(PCH PO-32L(PCV PO-32B(PC PO-32B(PCH PO-32TB(PC PO-32T(PCH PO-32RL(PC RRY-32(PC PRY-32(PC PIO-16/16L(PCH PIO-16/16L(PCV PIO-16/16B(PC PIO-16/16B(PCH PIO-16/16TB(PC PIO-16/16T(PCH PIO-16/16RL(PC PIO-48W(PC PIO-48D(PC PIO-48C(PC PIO-96W(PC PIO-144W(PC PIO-120D(PC API-PAC(W32RM/DIO 5
98(C PI-32(98E PI-32(98E-F PI-32T(98E PI-64(98E PI-64(98E-F PI-64T(98E PO-32(98E PO-32(98E-F PO-32T(98E PO-64(98E PO-64(98E-F PO-64T(98E PIO-16/16(98E PIO-16/16(98E-F PIO-16/16B(98E PIO-16/16TB(98E PIO-16/16T(98E PIO-32/32(98E PIO-32/32(98E-F PIO-32/32B(98E PIO-32/32TB(98E PIO-32/32T(98E PIO-32/32R(98E PI-32(98H PI-32B(98 PI-32T(98 PI-48(98 PI-48B(98 PI-48T(98 PI-96T(98K PO-32(98H PO-32B(98 PO-32T(98 PO-48(98 PO-48B(98 PO-48T(98 PO-96T(98K PIO-16/16(98H PIO-16/16B(98 PIO-16/16T(98 PIO-24/24(98 PIO-24/24A(98 PIO-24/24B(98 PIO-24/24TB(98 PIO-24/24T(98 PIO-48/48T(98K ACI/DCI-8(98 ACO/DCO-8(98 RRY-16(98 WRY-16(98 SSR-16(98 RRY-32(98 PRY-32(98 PIO-48W(98 PIO-48W(98B-01 PIO-48W(98B-02 PIO-96W(98K *1 Visual Basic.NET Visual C++.NET *2 Borland Delphi *3 16 *4 1 6 API-PAC(W32RM/DIO
Visual Basic.NET Visual C++.NET Visual Basic.NET WIN32API Visual Basic.NET [ ] VB Visual Basic 4 5 6 Visual Basic.NET Program Files CONTEC API-PAC(W32 XXX Samples Inc APIXXX.VB (XXX SIO/DIO/AIO/GPIB/CNT/SMC Visual Basic4,5,6 Visual Basic.NET 16Bit Integer Short 32Bit Long Integer 64Bit Long Any Program Files CONTEC API-PAC(W32 XXX Samples VbNet (XXX SIO/DIO/AIO/GPIB/CNT/SMC Visual Basic Visual Basic 6.0 CD-ROM ( VB6 Visual Basic Visual Basic.NET Visual Basic 4 5 MsgEcho.ocx MsgEcho.ocx CMessage.ocx ( CMessage.ocx API-PAC(W32RM/DIO 7
Visual C++.NET WIN32API Visual C++.NET [ ] C Program Files CONTEC API-PAC(W32 XXX Samples VcNet (XXX SIO/DIO/AIO/GPIB/CNT/SMC Visual C++.NET MFC ManagedC++ Viasual C++ Visual C++ 6.0 CD-ROM ( VC2CPP, VC6CPP / Visual C++.NET CWinApp InitInstance //Enable3dControls(; //LoadStdProfileSettings(0; // INI (MRU MFC [Visual C++ ] - [MFC ] 8 API-PAC(W32RM/DIO
Borland Delphi Borland Delphi WIN32API [ ] apixxx.pas (XXX SIO/DIO/AIO/GPIB/CNT/SMC API-PAC(W32RM/DIO 9
API-DIO(98/PCW95 NT API-DIO(98/PCW95 NT Open, Inp, Out, Close API-TOOL API-TOOL CONFIG.EXE API-TOOL TOOL API-TOOL I/O IRQ API-DIO ( PCI E (0 3 (1 16 ( 0 API-TOOL 1 ( 1 4 ( 0 ( API-DIO =0 =1 DIO00 1 PIO-32/32L(PC 0 3 0 3 0 31 0 31 2 PI-64L(PC 4 11 32 95 3 PO-64L(PC 4 11 32 95 4 PIO-16/16L(PCH 12 13 12 13 96 111 96 111 4 10 API-PAC(W32RM/DIO
API-PAC(W32RM/DIO 11 DLL (VXD/SYS Windows Me/98/95 API-TOOL C: CONTECW95 CONFIG.EXE C: CONTECW95 APCFG.DLL C: WINDOWS SYSTEM APCFG.VXD DLL C: WINDOWS SYSTEM APIDIO.DLL VXD C: WINDOWS SYSTEM APIDIO00.VXD C: WINDOWS SYSTEM APIDIO01.VXD C: WINDOWS SYSTEM APIDIO02.VXD C: WINDOWS SYSTEM APIDIO03.VXD C: WINDOWS SYSTEM APIDIO04.VXD Windows XP/2000/NT API-TOOL C: CONTEC CONFIG.EXE C: CONTEC APCFG.DLL C: WINNT SYSTEM32 DRIVERS APCFG.SYS DLL C: WINNT SYSTEM32 APIDIO.DLL SYS C: WINNT SYSTEM32 DRIVERS APIDIO00.SYS C: WINNT SYSTEM32 DRIVERS APIDIO01.SYS C: WINNT SYSTEM32 DRIVERS APIDIO02.SYS C: WINNT SYSTEM32 DRIVERS APIDIO03.SYS C: WINNT SYSTEM32 DRIVERS APIDIO04.SYS DLL VisualC++ (APIDIO.H LIB (APIDIO.LIB VisualBasic (APIDIO.BAS BorlandC (APIDIO.H LIB (APIDIOBC.LIB
12 API-PAC(W32RM/DIO
API-PAC(W32RM/DIO 13 PIO-32DM(PCI 3 < 1 / 2 > DioOpen DioOpenEx ( DioClose DioWait DioWaitEx (1ms DioSFilter DioUseMutex PIO-32D(PM DioSetIoDirection PIO-32D(PM (Dual DioGetIoDirection PIO-32D(PM (Dual 8255 Dio8255Mode 8255 DioGet8255Mode 8255 DioInpByte DioOutByte DioEchoBackByte DioInpBit DioOutBit DioEchoBackBit ( DioInp ( DioOut ( DioEchoBack ( DioBitInp ( DioBitOut ( DioBitEchoBack ( DioInpBack DioOutBack DioBitInpBack DioBitOutBack DioSts DioStop DioEvent DioIntEnable / DioIntSence DioEventEx ( DioIntEnableEx / (
DioPtnSet DioPtnStart DioPtnSts DioTrgSet DioTrgStart DioTrgSts DioInpBCD DioOutBCD DioNInpBCD DioNOutBCD LpByte LpWord LpDWord... < 2 / 2 > BCD BCD BCD ( BCD ( (Visual Basic (Visual Basic (Visual Basic 1 ( 14 API-PAC(W32RM/DIO
DioOpen (C WORD DrvNo; WORD GrpNo; dwret = DioOpen(&hDrv, DrvNo, GrpNo; (Visual Basic Dim hdrv Dim DrvNo As Integer Dim GrpNo As Integer Dim dwret dwret = DioOpen(hDrv, DrvNo, GrpNo hdrv : DioXxxx DrvNo : : 0 DrvNo 3 001h GrpNo : : 1 GrpNo 16 003h dwret : ( : 0 : 0 ( ( ID I/O ID (DioClose API-TOOL (DioOpen (DioClose (DioOpen (DioClose (DioClose 1 16 API-PAC(W32RM/DIO 15
API-TOOL 1 0 C WORD GrpNo, DrvNo; DrvNo = 0; GrpNo = 1; dwret = DioOpen(&hDrv, DrvNo, GrpNo; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim DrvNo As Integer Dim GrpNo As Integer Dim dwret DrvNo = 0 GrpNo = 1 dwret = DioOpen(hDrv, DrvNo, GrpNo ErrChk(dwRet ' 16 API-PAC(W32RM/DIO
DioOpenEx (C char *DeviceName dwret = DioOpenEx(DeviceName, &hdrv; (Visual Basic Dim DeviceName As String Dim hdrv Dim dwret dwret = DioOpenEx(DeviceName, hdrv hdrv : DioXxxx DeviceName : API-TOOL dwret : ( : 0 : 0 ( ( ID I/O ID (DioClose API-TOOL (DioClose (DioClose 1 16 DioOpenEx 1 DioOpenEx DioClose API-PAC(W32RM/DIO 17
API-TOOL DIO00 C dwret = DioOpenEx( DIO00, &hdrv; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim dwret dwret = DioOpenEx( DIO00, hdrv ErrChk(dwRet ' 18 API-PAC(W32RM/DIO
DioClose (C dwret = DioClose(hDrv; (Visual Basic Dim hdrv Dim dwret dwret = DioClose(hDrv hdrv : DioOpen dwret : ( : 0 : 0 ( (DioOpen, DioOpenEx (DioOpen 'hdrv' : DioClose DioOpen C dwret = DioClose(hDrv; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim dwret dwret = DioClose(hDrv ErrChk(dwRet ' API-PAC(W32RM/DIO 19
DioWait (C WORD WaitTim; dwret = DioWait(hDrv, WaitTim; (Visual Basic Dim hdrv Dim WaitTim As Integer Dim dwret dwret = DioWait(hDrv, WaitTim hdrv : DioOpen WaitTim : : 1 WaitTim FFFFh [ms] = 10[ms] WaitTim 60Ah dwret : ( : 0 : 0 ( C WORD WaitTim; WaitTim = 10; /* dwret = DioWait(hDrv, WaitTim; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim dwret Dim WaitTim As Integer WaitTim = 10 ' dwret = DioWait(hDrv, WaitTim ErrChk(dwRet ' 20 API-PAC(W32RM/DIO
DioWaitEx (C DWORD WaitTim; dwret = DioWaitEx(hDrv, WaitTim; (Visual Basic Dim hdrv Dim WaitTim Dim dwret dwret = DioWaitEx(hDrv, WaitTim hdrv : DioOpen WaitTim : : 1 WaitTim FFFFFFFFh [ms] = 1[ms] WaitTim 60Ah dwret : ( : 0 : 0 ( C DWORD WaitTim; WaitTim = 10; /* dwret = DioWaitEx(hDrv, WaitTim; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim dwret Dim WaitTim WaitTim = 10 ' dwret = DioWaitEx(hDrv, WaitTim ErrChk(dwRet ' API-PAC(W32RM/DIO 21
DioSFilter ( (C WORD TimCode; WORD InpBitNo; dwret = DioSFilter(hDrv, TimCode, InpBitNo; (Visual Basic Dim hdrv Dim TimCode As Integer Dim InpBitNo As Integer Dim dwret dwret = DioSFilter(hDrv, TimCode, InpBitNo hdrv : DioOpen TimCode : : E PCI (PIO-48D(PCI CompactPCI 0 TimCode 20 0, 12 TimCode 20 634h InpBitNo : E PCI CompactPCI 0 : 0 InpBitNo - 1 610h dwret : ( : 0 : 0 ( 22 API-PAC(W32RM/DIO
( DioOpen DioClose 8.192[ms] : = 8.192[ms] : 0 C WORD TimCode; WORD InpBitNo; TimCode = 16; /* InpBitNo = 0; /* 0 dwret = DioSFilter(hDrv, TimCode, InpBitNo; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim Timcode As Integer Dim InpBitNo As Integer Dim dwret TimCode = 16 ' InpBitNo = 0 ' 0 dwret = DioSFilter(hDrv, TimCode, InpBitNo ErrChk(dwRet ' API-PAC(W32RM/DIO 23
DioUseMutex Dio (C WORD wsw; DioUseMutex(wSw; (Visual Basic Dim wsw As Integer DioUseMutex(wSw wsw : Mutex 0 : Mutex 1 : Mutex API-DIO Mutex Mutex Win32API Mutex Mutex C WORD wsw; wsw = 1; /* DioUseMutex(wSw; Visual Basic Dim wsw As Integer wsw = 1 ' DioUseMutex(wSw 24 API-PAC(W32RM/DIO
Dio8255Mode LSIi8255 (C WORD CNx; WORD CtrlWord; dwret = Dio8255Mode(hDrv, CNx, CtrlWord; (Visual Basic Dim hdrv Dim CNx As Integer Dim CtrlWord As Integer Dim dwret dwret = Dio8255Mode(hDrv, CNx, CtrlWord hdrv : DioOpen CNx : LSIi8255 : 0 CNx LSIi8255-1 630h CtrlWord : 8255 dwret : ( : 0 : 0 ( PCI (PIO-48D(PCI CompactPCI E 631h DioOpen ( (DioInp, DioOut API-PAC(W32RM/DIO 25
( 0 5 : 8255 C WORD CNx, CtrlWord; CtrlWord = 0x9B; for(cnx = 0; CNx < 2; CNx++{ dwret = Dio8255Mode(hDrv, CNx, CtrlWord; } ErrChk(dwRet; /* Visual Basic Dim hdrv Dim CtrlWord As Integer Dim CNx As Integer Dim dwret CtrlWord = &H9B For CNx = 0 To 1 dwret = Dio8255Mode(hDrv, CNx, CtrlWord End ErrChk(dwRet ' 26 API-PAC(W32RM/DIO
DioGet8255Mode LSIi8255 (C WORD CNx; WORD CtrlWord; dwret = DioGet8255Mode(hDrv, CNx, &CtrlWord; (Visual Basic Dim hdrv Dim CNx As Integer Dim CtrlWord As Integer Dim dwret dwret = DioGet8255Mode(hDrv, CNx, CtrlWord hdrv : DioOpen CNx : LSIi8255 : LSIi8255 1 630h CtrlWord : 8255 dwret : ( : 0 : 0 ( PCI (PIO-48D(PCI CompactPCI E 631h DioOpen Dio8255Mode Windows98/95 DioOpen Dio8255Mode Windows2000/NT Dio8255Mode API-PAC(W32RM/DIO 27
( 0 2 C WORD CNx, CtrlWord; CNx = 0; dwret = DioGet8255Mode(hDrv, CNx, &CtrlWord; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim CtrlWord As Integer Dim CNx As Integer Dim dwret CNx = 0 dwret = DioGet8255Mode(hDrv, CNx, CtrlWord ErrChk(dwRet ' 28 API-PAC(W32RM/DIO
DioSetIoDirection PIO-32D(PM I/O (C WORD BoardNo; DWORD dwdir; dwret = DioSetIoDirection(hDrv, BoardNo, dwdir; (Visual Basic Dim hdrv Dim BoardNo As Integer Dim dwdir Dim dwret dwret = DioSetIoDirection(hDrv, BoardNo, dwdir hdrv : DioOpen BoardNo : : 0 BoardNo - 1 642h dwdir : : 0 dwdir 0xf =1 =0 642h dwret : ( : 0 : 0 ( PIO-32D(PM(Dual PCI (PIO-48D(PCI PIO-32D(PM (Dual 642h PIO-32D(PM(Dual DioOpen (DioInp, DioOut DioOpen API-PAC(W32RM/DIO 29
0,1 2,3 C WORD BoardNo; DWORD dwdir, dwret; BoardNo = 0; dwdir = 0x3; dwret = DioSetIoDirection(hDrv, BoardNo, dwdir; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim BoardNo As Integer Dim dwdir Dim dwret BoardNo = 0 dwdir = &H3 dwret = DioSetIoDirection(hDrv, BoardNo, dwdir ErrChk(dwRet ' 30 API-PAC(W32RM/DIO
DioGetIoDirection PIO-32D(PM I/O (C WORD BoardNo; DWORD dwdir; dwret = DioGetIoDirection(hDrv, BoardNo, &dwdir; (Visual Basic Dim hdrv Dim BoardNo As Integer Dim dwdir Dim dwret dwret = DioGetIoDirection(hDrv, BoardNo, dwdir hdrv : DioOpen BoardNo : : 0 BoardNo - 1 642h dwdir : =1 =0 642h dwret : ( : 0 : 0 ( PIO-32D(PM(Dual DioOpen API-PAC(W32RM/DIO 31
0 C WORD BoardNo; DWORD dwdir, dwret; BoardNo = 0; dwret = DioGetIoDirection(hDrv, BoardNo, &dwdir; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim BoardNo As Integer Dim dwdir Dim dwret BoardNo = 0 dwret = DioGetIoDirection(hDrv, BoardNo, dwdir ErrChk(dwRet ' 32 API-PAC(W32RM/DIO
DioInpByte 1 (C WORD InpPortNo; BYTE InpBuf; dwret = DioInpByte(hDrv, InpPortNo, &InpBuf; (Visual Basic Dim hdrv Dim InpPortNo As Integer Dim InpBuf As Byte Dim dwret dwret = DioInpByte(hDrv, InpPortNo, InpBuf hdrv : DioOpen InpPortNo : : 0 InpPortNo - 1 606h InpBuf : dwret : ( : 0 : 0 ( (PI PIO (PO 604h DioOpen Dio8255Mode API-PAC(W32RM/DIO 33
0 C WORD InpPortNo; BYTE InpBuf; InpPortNo = 0; /* 0 dwret = DioInpByte(hDrv, InpPortNo, &InpBuf; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim InpPortNo As Integer Dim InpBuf As Byte Dim dwret InpPortNo = 0 ' 0 dwret = DioInpByte(hDrv, InpPortNo, InpBuf ErrChk(dwRet ' 34 API-PAC(W32RM/DIO
DioOutByte (C WORD OutPortNo; BYTE OutBuf; dwret = DioOutByte(hDrv, OutPortNo, OutBuf; (Visual Basic Dim hdrv Dim OutPortNo As Integer Dim OutBuf As Byte Dim dwret dwret = DioOutByte(hDrv, OutPortNo, OutBuf hdrv : DioOpen OutPortNo : : 0 OutPortNo - 1 606h OutBuf : dwret : ( : 0 : 0 ( (PO PIO (PI 605h DioOpen Dio8255Mode API-PAC(W32RM/DIO 35
0 55h C WORD OutPortNo; BYTE OutBuf; OutPortNo = 0; /* OutBuf = 0x55; /* dwret = DioOutByte(hDrv, OutPortNo, OutBuf; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim OutPortNo As Integer Dim OutBuf As Byte Dim dwret OutPortNo = 0 ' OutBuf = &H55 ' dwret = DioOutByte(hDrv, OutPortNo, OutBuf ErrChk(dwRet ' 36 API-PAC(W32RM/DIO
DioEchoBackByte 1 (C WORD OutPortNo; BYTE InpBuf; dwret = DioEchoBackByte(hDrv, OutPortNo, & InpBuf; (Visual Basic Dim hdrv Dim OutPortNo As Integer Dim InpBuf As Byte Dim dwret dwret = DioEchoBackByte(hDrv, OutPortNo, InpBuf hdrv : DioOpen OutPortNo : : 0 OutPortNo - 1 606h InpBuf : dwret : ( : 0 : 0 ( (PO PIO (PI 605h DioOpen Dio8255Mode API-PAC(W32RM/DIO 37
0 C WORD OutPortNo; BYTE InpBuf; OutPortNo = 0; /* 0 dwret = DioEchobackByte(hDrv, OutPortNo, & InpBuf; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim OutPortNo As Integer Dim InpBuf As Byte Dim dwret OutPortNo = 0 ' 0 dwret = DioEchoBackByte(hDrv, OutPortNo, InpBuf ErrChk(dwRet ' 38 API-PAC(W32RM/DIO
DioInpBit 1 (C WORD InpBitNo; BYTE InpBuf; dwret = DioInpBit(hDrv, InpBitNo, &InpBuf; (Visual Basic Dim hdrv Dim InpBitNo As Integer Dim InpBuf As Byte Dim dwret dwret = DioInpBit(hDrv, InpBitNo, InpBuf hdrv : DioOpen InpBitNo : : 0 InpBitNo - 1 610h InpBuf : dwret : ( : 0 : 0 ( (PI PIO (PO 604h DioOpen Dio8255Mode API-PAC(W32RM/DIO 39
0 C WORD InpBitNo; BYTE InpBuf; InpBitNo = 0; /* 0 dwret = DioInpBit(hDrv, InpBitNo, &InpBuf; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim InpBitNo Dim InpBuf Dim dwret InpBitNo = 0 As Integer As Byte ' 0 dwret = DioInpBit(hDrv, InpBitNo, InpBuf ErrChk(dwRet ' 40 API-PAC(W32RM/DIO
DioOutBit 1 (C WORD OutBitNo; BYTE OutBuf; dwret = DioOutBit(hDrv, OutBitNo, OutBuf; (Visual Basic Dim hdrv Dim OutBitNo As Integer Dim OutBuf As Byte Dim dwret dwret = DioOutBit(hDrv, OutBitNo, OutBuf hdrv : DioOpen OutBitNo : : 0 OutBitNo - 1 610h OutBuf : dwret : ( : 0 : 0 ( (PO PIO (PI 605h DioOpen Dio8255Mode API-PAC(W32RM/DIO 41
0 1h C WORD OutBitNo; BYTE OutBuf; OutBitNo = 0; /* 0 OutBuf = 0x1; /* dwret = DioOutBit(hDrv, OutBitNo, OutBuf; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim OutBitNo As Integer Dim OutBuf As Byte Dim dwret OutBitNo = 0 ' 0 OutBuf = &H1 ' dwret = DioOutBit(hDrv, OutBitNo, OutBuf ErrChk(dwRet ' 42 API-PAC(W32RM/DIO
DioEchoBackBit 1 (C WORD OutBitNo; BYTE InpBuf; dwret = DioEchoBackBit(hDrv, OutBitNo, &InpBuf (Visual Basic Dim hdrv Dim OutBitNo As Integer Dim InpBuf As Byte Dim dwret dwret = DioEchoBackBit(hDrv, OutBitNo, InpBuf hdrv : DioOpen OutBitNo : : 0 OutBitNo - 1 610h InpBuf : dwret : ( : 0 : 0 ( (PO PIO (PI 605h DioOpen Dio8255Mode API-PAC(W32RM/DIO 43
0 C WORD OutBitNo; BYTE InpBuf; OutBitNo = 0; /* 0 dwret = DioEchoBackBit(hDrv, OutBitNo, &InpBuf; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim OutBitNo Dim InpBuf Dim dwret OutBitNo = 0 As Integer As Byte ' 0 dwret = DioEchoBackBit(hDrv, OutBitNo, InpBuf ErrChk(dwRet ' 44 API-PAC(W32RM/DIO
DioInp (C DINP lpdinp; dwret = DioInp(hDrv, &lpdinp; (Visual Basic Dim hdrv Dim lpdinp As DINP Dim dwret dwret = DioInp(hDrv, lpdinp hdrv : DioOpen lpdinp : DINP dwret : ( : 0 : 0 ( (PI PIO (PO 604h DioOpen, Dio8255Mode API-PAC(W32RM/DIO 45
0 2 2 : 0 = 2 = 2 C DINP lpdinp; WORD InpPortNo[2]; BYTE InpBuf[2]; InpPortNo[0] = 0; /* 0 InpPortNo[1] = 2; /* 2 lpdinp.inpportno = &InpPortNo[0]; /* InpPortNo lpdinp.portnum = 2; /* lpdinp.buf = &InpBuf[0]; /* InpBuf dwret = DioInp(hDrv, &lpdinp; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim lpdinp As DINP Dim InpPortNo(1 As Integer Dim InpBuf(1 As Byte Dim dwret InpPortNo(0 = 0 InpPortNo(1 = 2 lpdinp.inpportno = LpWord(InpPortNo(0 lpdinp.portnum = 2 lpdinp.buf = LpByte(InpBuf(0 dwret = DioInp(hDrv, lpdinp ErrChk(dwRet ' 0 ' 2 ' InpPortNo ' ' InpBuf ' 46 API-PAC(W32RM/DIO
DINP (C typedef struct tagdinp{ LPWORD InpPortNo; WORD PortNum; LPBYTE Buf; }DINP; (Visual Basic Type DINP InpPortNo PortNum Buf End Type As Integer InpPortNo : : 0 InpPortNo - 1 606h PortNum : : 1 PortNum 607h Buf : InpPortNo PortNum API-PAC(W32RM/DIO 47
DioOut (C DOUT lpdout; dwret = DioOut(hDrv, &lpdout; (Visual Basic Dim hdrv Dim lpdou As DOUT Dim dwret dwret = DioOut(hDrv, &lpdout hdrv : DioOpen lpdout : DOUT dwret : ( : 0 : 0 ( (PO PIO (PI 605h DioOpen, Dio8255Mode 48 API-PAC(W32RM/DIO
1 55h 3 AAh 2 : 1 = 1 3 = 3 C DOUT lpdout; WORD OutPortNo[2]; BYTE OutBuf[2]; OutPortNo[0] = 1; /* 1 OutPortNo[1] = 3; /* 3 OutBuf[0] = 0x55; /* 1 OutBuf[1] = 0xAA; /* 2 lpdout.outportno = &OutPortNo[0]; /* OutPortNo lpdout.portnum = 2; /* lpdout.buf = &OutBuf[0]; /* OutBuf dwret = DioOut(hDrv, &lpdout; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim lpdout As DOUT Dim OutPortNo(1 As Integer Dim OutBuf(1 As Byte Dim dwret OutPortNo(0 = 1 OutPortNo(1 = 3 OutBuf(0 = &H55 OutBuf(1 = &HAA lpdout.outportno = LpWord(OutPortNo(0 lpdout.portnum = 2 lpdout.buf = LpByte(OutBuf(0 dwret = DioOut(hDrv, lpdout ErrChk(dwRet ' 1 ' 3 ' 1 ' 2 ' OutPortNo ' ' OutBuf ' API-PAC(W32RM/DIO 49
DOUT (C typedef struct tagdout{ LPWORD OutPortNo; WORD PortNum; LPBYTE Buf; }DOUT; (Visual Basic Type DOUT OutPortNo PortNum Buf End Type As Integer OutPortNo : : 0 OutPortNo - 1 606h PortNum : : 1 PortNum 607h Buf : OutPortNo PortNum 50 API-PAC(W32RM/DIO
DioEchoBack (C DINP lpdinp; dwret = DioEchoBack(hDrv, &lpdinp; (Visual Basic Dim hdrv Dim lpdinp As DINP Dim dwret dwret = DioEchoBack(hDrv, lpdinp hdrv : DioOpen lpdenp : DINP dwret : ( : 0 : 0 ( API-PAC(W32RM/DIO 51
0 2 2 : 0 = 2 = 2 C DINP lpdinp; WORD InpPortNo[2]; BYTE InpBuf[2]; InpPortNo[0] = 0; /* 0 InpPortNo[1] = 2; /* 2 lpdinp.inpportno = &InpPortNo[0]; /* InpPortNo lpdinp.portnum = 2; /* lpdinp.buf = &InpBuf[0]; /* InpBuf dwret = DioEchoBack(hDrv, &lpdinp; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim lpdinp As DINP Dim InpPortNo(1 As Integer Dim InpBuf(1 As Byte Dim dwret InpPortNo(0 = 0 InpPortNo(1 = 2 lpdinp.inpportno = LpWord(InpPortNo(0 lpdinp.portnum = 2 lpdinp.buf = LpByte(InpBuf(0 dwret = DioEchoBack(hDrv, lpdinp ErrChk(dwRet ' 0 ' 2 ' InpPortNo ' ' InpBuf ' 52 API-PAC(W32RM/DIO
DINP (C typedef struct tagdinp{ LPWORD InpPortNo; WORD PortNum; LPBYTE Buf; }DINP; (Visual Basic Type DINP InpPortNo PortNum Buf End Type As Integer InpPortNo : : 0 InpPortNo - 1 606h PortNum : : 1 PortNum 607h Buf : InpPortNo PortNum API-PAC(W32RM/DIO 53
DioBitInp (C DBINP lpdbinp; dwret = DioBitInp(hDrv, &lpdbinp; (Visual Basic Dim hdrv Dim lpdbinp As DBINP Dim dwret dwret = DioBitInp(hDrv, &lpdbinp hdrv : DioOpen lpdbinp : DBINP dwret : ( : 0 : 0 ( 54 API-PAC(W32RM/DIO
0 2 2 : 0 = 2 = 2 C DBINP lpdbinp; WORD InpBitNo[2]; BYTE InpBuf[2]; InpBitNo[0] = 0; /* 0 InpBitNo[1] = 2; /* 2 lpdbinp.inpbitno = &InpBitNo[0]; /* InpBitNo lpdbinp.bitnum = 2; /* lpdbinp.buf = &InpBuf[0]; /* InpBuf dwret = DioBitInp(hDrv, &lpdbinp; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim lpdbinp As DBINP Dim InpBitNo(1 As Integer Dim InpBuf(1 As Byte Dim dwret InpBitNo(0 = 0 InpBitNo(1 = 2 lpbdbinp.inpbitno = LpWord(InpBitNo(0 lpbdbinp.bitnum = 2 lpbdbinp.buf = LpByte(InpBuf(0 dwret = DioBitInp(hDrv, lpdbinp ErrChk(dwRet ' 0 ' 2 ' InpBitNo ' ' InpBuf ' API-PAC(W32RM/DIO 55
DBINP (C typedef struct tagdbinp{ LPWORD InpBitNo; WORD BitNum; LPBYTE Buf; }DBINP; (Visual Basic Type DBINP InpBitNo BitNum Buf End Type As Integer InpBitNo : : 0 InpBitNo - 1 610h BitNum : : 1 BitNum 611h Buf : InpBitNo BitNum 56 API-PAC(W32RM/DIO
DioBitOut (C DBOUT lpdbout; dwret = DioBitOut(hDrv, &lpdbout; (Visual Basic Dim hdrv Dim lpdbou As DBOUT Dim dwret dwret = DioBitOut(hDrv, lpdbout hdrv : DioOpen lpdbout : DBOUT dwret : ( : 0 : 0 ( API-PAC(W32RM/DIO 57
1 1h 3 1h 2 : 1 = 1 3 = 3 C DBOUT lpdbout; WORD OutBitNo[2]; BYTE OutBuf[2]; OutBitNo[0] = 1; /* 1 OutBitNo[1] = 3; /* 3 OutBuf[0] = 1; /* 1 OutBuf[1] = 1; /* 2 lpdbout.outbitno = &OutBitNo[0]; /* OutBitNo lpdbout.bitnum = 2; /* lpdbout.buf = &OutBuf[0]; /* OutBuf dwret = DioBitOut(hDrv, &lpdbout; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim lpdbout As DBOUT Dim OutBitNo(1 As Integer Dim OutBuf(1 As Byte Dim dwret OutBitNo(0 = 1 OutBitNo(1 = 3 OutBuf(0 = 1 OutBuf(1 = 1 lpdbout.outbitno = LpWord(OutBitNo(0 lpdbout.bitnum = 2 lpdbout.buf = LpByte(OutBuf(0 dwret = DioBitOut(hDrv, lpdbout ErrChk(dwRet ' 1 ' 3 ' 1 ' 2 ' OutBitNo ' ' OutBuf ' 58 API-PAC(W32RM/DIO
DBOUT (C typedef struct tagdbout{ LPWORD OutBitNo; WORD BitNum; LPBYTE Buf; }DBOUT; (Visual Basic Type DBOUT OutBitNo BitNum Buf End Type As Integer OutBitNo : : 0 OutBitNo - 1 610h BitNum : : 1 BitNum 611h Buf : OutBitNo BitNum API-PAC(W32RM/DIO 59
DioBitEchoBack (C DBINP lpdbinp; dwret = DioBitEchoBack(hDrv, &lpdbinp; (Visual Basic Dim hdrv Dim lpdbinp As DBINP Dim dwret dwret = DioBitEchoBack(hDrv, &lpdbinp hdrv : DioOpen lpdbinp : DBINP dwret : ( : 0 : 0 ( 60 API-PAC(W32RM/DIO
0 2 2 : 0 = 2 = 2 C DBINP lpdbinp; WORD InpBitNo[2]; BYTE InpBuf[2]; InpBitNo[0] = 0; /* 0 InpBitNo[1] = 2; /* 2 lpdbinp.inpbitno = &InpBitNo[0]; /* InpBitNo lpdbinp.bitnum = 2; /* lpdbinp.buf = &InpBuf[0]; /* InpBuf dwret = DioBitEchoBack(hDrv, &lpdbinp; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim lpdbinp As DBINP Dim InpBitNo(1 As Integer Dim InpBuf(1 As Byte Dim dwret InpBitNo(0 = 0 InpBitNo(1 = 2 lpbdbinp.inpbitno = LpWord(InpBitNo(0 lpbdbinp.bitnum = 2 lpbdbinp.buf = LpByte(InpBuf(0 dwret = DioBitInp(hDrv, lpdbinp ErrChk(dwRet ' 0 ' 2 ' InpBitNo ' ' InpBuf ' API-PAC(W32RM/DIO 61
DBINP (C typedef struct tagdbinp{ LPWORD InpBitNo; WORD BitNum; LPBYTE Buf; }DBOUT; (Visual Basic Type DBINP OutBitNo BitNum Buf End Type As Integer InpBitNo : : 0 InpBitNo - 1 610h BitNum : : 1 BitNum 611h Buf : InpBitNo BitNum 62 API-PAC(W32RM/DIO
DioInpBack (C DINPB lpdinpb; HANDLE hok; WORD DMegOK; HANDLE hexcp; WORD DMegExcp; dwret = DioInpBack(hDrv, &lpdinpb, hok, DMegOK, hexcp, DMegExcp; (Visual Basic Dim hdrv Dim lpdinpb As DINPB Dim hok Dim DmegOK As Integer Dim hexcp Dim DmegExcp As Integer Dim dwret dwret = DioInpBack(hDrv, lpdinpb, hok, DMegOK, hexp, DMegExcp API-PAC(W32RM/DIO 63
hdrv : DioOpen lpdinpb : DINPB hok : ( DMegOK : 0 : DMegOK = 0h, 400h DMegOK 7FFFh 00Ch hexcp : ( DMegExcp : 0 : DMegExcp = 0h, 400h DMegExcp 7FFFh 00Ch dwret : ( : 0 : 0 ( (PI PIO (PO 604h DioOpen, Dio8255Mode 1 DioSts 64 API-PAC(W32RM/DIO
0 2 2 100[ms] 100 : 0 = 2 = 2 = 100[ms] = 100[ ] C HANDLE hok; WORD wmegok; HANDLE hexcp; WORD wmegexcp; DINPB lpdinpb; WORD InpPortNo[2]; BYTE InpBuf[100][2]; wmegok = 0x470; wmegexcp = 0x480; InpPortNo[0] = 0; /* 0 InpPortNo[1] = 2; /* 2 lpdinpb.inpportno = &InpPortNo[0]; /* InpPortNo lpdinpb.portnum = 2; /* lpdinpb.datanum = 100; /* lpdinpb.buf = &InpBuf[0][0]; /* InpBuf lpdinpb.tim = 10; /* dwret = DioInpBack(hDrv, &lpdinpb, hok, wmegok, hexcp, wmegexcp; ErrChk(dwRet; /* API-PAC(W32RM/DIO 65
Visual Basic Dim hdrv Dim lpdinpb As DINPB Dim InpPortNo(1 As Integer Dim InpBuf(1,99 As Byte Dim dwret MsgOK.Message = &H470 MsgExcp.Message = &H480 InpPortNo(0 = 0 ' 0 InpPortNo(1 = 2 ' 2 lpdinpb.inpportno = LpWord(InpPortNo(0 ' InpPortNo lpdinpb.portnum = 2 ' lpdinpb.datanum = 100 ' lpdinpb.buf = LpByte(InpBuf(0,0 ' InpBuf lpdinpb.tim = 10 ' dwret = DioInpBack(hDrv, 1pDinpB, MsgOK.hWnd, MsgOK.Message, MsgExcp.hWnd, MsgExcp.Message ErrChk(dwRet ' 66 API-PAC(W32RM/DIO
DINPB (C typedef struct tagdinpb{ LPWORD InpPortNo; WORD PortNum; WORD DataNum; LPBYTE Buf; WORD Tim; }DINPB; (Visual Basic Type DINPB InpPortNo PortNum DataNum Buf Tim End Type As Integer As Integer As Integer InpPortNo : : 0 InpPortNo - 1 606h PortNum : : 1 PortNum 607h DataNum : : 1 DataNum FFFFh 609h Buf : Tim : : 1 Tim FFFFh [ms] = 10[ms] Tim( 60Ah InpPortNo PortNum API-PAC(W32RM/DIO 67
DioOutBack (C DOUTB lpdoutb; HANDLE hok; WORD DMegOK; HANDLE hexcp; WORD DMegExcp; dwret = DioOutBack(hDrv, &lpdoutb, hok, DMegOK, hexcp, DMegExcp; (Visual Basic Dim hdrv Dim lpdoutb As DOUTB Dim hok Dim DmegOK As Integer Dim hexcp Dim DmegExcp As Integer Dim dwret dwret = DioOutBack(hDrv, lpdoutb, hok, DMegOK, hexp, DMegExcp 68 API-PAC(W32RM/DIO
hdrv : DioOpen lpdoutb : DOUTB hok : ( 0 DMegOK : : DMegOK = 0h, 400h DMegOK 7FFFh 00Ch hexcp : ( 0 DMegExcp : : DMegExcp = 0h, 400h DMegExcp 7FFFh 00Ch dwret : ( : 0 : 0 ( (PO PIO (PI 605h DioOpen, Dio8255Mode 1 DioSts DioNC_CMRF17 API-PAC(W32RM/DIO 69
1 55h 3 AAh 2 100[ms] 100 : 1 = 1 3 = 3 = 100[ms] = 100[ ] C HANDLE hok; WORD wmegok; HANDLE hexcp; WORD wmegexcp; DOUTB lpdoutb; WORD OutPortNo[2]; BYTE OutBuf[100][2]; wmegok = 0x470; wmegexcp = 0x480; OutPortNo[0] = 1; /* 1 OutPortNo[1] = 3; /* 3 lpdoutb.outportno = &OutPortNo[0]; /* OutPortNo lpdoutb.portnum = 2; /* lpdoutb.datanum = 100; /* OutBuf[0][0] = 0x55; /* 1 OutBuf[0][1] = 0xAA; /* 2 lpdoutb.buf = &OutBuf[0][0]; /* OutBuf lpdoutb.tim = 10; /* dwret = DioOutBack(hDrv, &lpdoutb, hok, wmegok, hexcp, wmegexcp; ErrChk(dwRet; /* 70 API-PAC(W32RM/DIO
Visual Basic Dim hdrv Dim lpdoutb As DOUTB Dim OutPortNo(1 As Integer Dim OutBuf(1,99 As Byte Dim dwret MsgOK.Message = &H470 MsgExcp.Message = &H480 OutPortNo(0 = 1 ' 1 OutPortNo(1 = 3 ' 3 lpdoutb.outportno = LpWord(OutPortNo(0 ' OutPortNo lpdoutb.portnum = 2 ' lpdoutb.datanum = 100 ' OutBuf(0,0 = &H55 ' 1 OutBuf(1,0 = &HAA ' 2 lpdoutb.buf = LpByte(OutBuf(0,0 ' OutBuf lpdoutb.tim = 10 ' dwret = DioOutBack(hDrv, lpdoutb, MsgOK.hWnd, MsgOK.Message, MsgExcp.hWnd, MsgExcp.Message ErrChk(dwRet ' API-PAC(W32RM/DIO 71
DOUTB (C typedef struct tagdoutb{ LPWORD OutPortNo; WORD PortNum; WORD DataNum; LPBYTE Buf; WORD Tim; }DOUTB; (Visual Basic Type DOUTB OutPortNo PortNum DataNum Buf Tim End Type As Integer As Integer As Integer OutPortNo : : 0 OutPortNo - 1 606h PortNum : : 1 PortNum 607h DataNum : : 1 DataNum FFFFh 609h Buf : Tim : : 1 Tim FFFFh [ms] = 10[ms] Tim( 60Ah OutPortNo PortNum 72 API-PAC(W32RM/DIO
DioBitInpBack (C DBINPB lpdbinpb; HANDLE hok; WORD DMegOK; HANDLE hexcp; WORD DMegExcp; dwret = DioBitInpBack(hDrv, &lpdbinpb, hok, DMegOK, hexcp, DMegExcp; (Visual Basic Dim hdrv Dim lpdbinpb As DBINPB Dim hok Dim DmegOK As Integer Dim hexcp Dim DmegExcp As Integer Dim dwret dwret = DioBitInpBack(hDrv, lpdbinpb, hok, DMegOK, hexp, DMegExcp API-PAC(W32RM/DIO 73
hdrv : DioOpen lpdbinpb : DBINPB hok : ( DMegOK : 0 : DMegOK = 0h, 400h DMegOK 7FFFh 00Ch hexcp : ( DMegExcp : 0 : DMegExcp = 0h, 400h DMegExcp 7FFFh 00Ch dwret : ( : 0 : 0 ( 1 DioSts 74 API-PAC(W32RM/DIO
0 2 2 100[ms] 100 : 0 = 2 = 2 = 100[ms] = 100[ ] C HANDLEhDrv; HANDLEhOK; WORD wmegok; HANDLEhExcp; WORD wmegexcp; DBINPB lpdbinpb; WORD InpBitNo[2]; BYTE InpBuf[100][2]; wmegok = 0x470; wmegexcp = 0x480; InpBitNo[0] = 0; /* 0 InpBitNo[1] = 2; /* 2 lpdbinpb.inpbitno = &InpBitNo[0]; /* InpBitNo lpdbinpb.bitnum = 2; /* lpdbinpb.datanum = 100; /* lpdbinpb.buf = &InpBuf[0][0]; /* InpBuf lpdbinpb.tim = 10; /* dwret =DioBitInpBack(hDrv, &lpdbinpb, hok, wmegok, hexcp,wmegexcp; ErrChk(dwRet; /* API-PAC(W32RM/DIO 75
Visual Basic Dim hdrv Dim lpdbinpb As DBINPB Dim InpBitNo(1 As Integer Dim InpBuf(1,99 As Byte Dim dwret MsgOK.Message = &H470 MsgExcp.Message = &H480 InpBitNo(0 = 0 ' 0 InpBitNo(1 = 2 ' 2 lpdbinpb.inpbitno = LpWord(InpBitNo(0 ' InpBitNo lpdbinpb.bitnum = 2 ' lpdbinpb.datanum = 100 ' lpdbinpb.buf = LpByte(InpBuf(0,0 ' InpBuf lpdbinpb.tim = 10 ' dwret = DioBitInpBack(hDrv, lpdbinpb, MsgOK.hWnd, MsgOK.Message, MsgExcp.hWnd,MsgExcp.Message ErrChk(dwRet ' 76 API-PAC(W32RM/DIO
DBINPB (C typedef struct tagdbinpb{ LPWORD InpBitNo; WORD BitNum; WORD DataNum; LPBYTE Buf; WORD Tim; }DBINPB; (Visual Basic Type DBINPB InpBitNo BitNum DataNum Buf Tim End Type As Integer As Integer As Integer InpBitNo : : 0 InpBitNo - 1 610h BitNum : : 1 BitNum 611h DataNum : : 1 DataNum FFFFh 609h Buf : Tim : : 1 Tim FFFFh [ms] = 10[ms] Tim( 60Ah InpBitNo BitNum API-PAC(W32RM/DIO 77
DioBitOutBack (C DBOUTB lpdboutb; HANDLE hok; WORD DMegOK; HANDLE hexcp; WORD DMegExcp; dwret = DioBitOutBack(hDrv, &lpdboutb, hok, DMegOK, hexcp, DMegExcp; (Visual Basic Dim hdrv Dim lpdboutb As DBOUTB Dim hok Dim DmegOK As Integer Dim hexcp Dim DmegExcp As Integer Dim dwret dwret = DioBitOutBack(hDrv, lpdboutb, hok, DMegOK, hexp, DMegExcp 78 API-PAC(W32RM/DIO
hdrv : DioOpen lpdboutb : DBOUTB hok : ( 0 DMegOK : : DMegOK = 0h, 400h DMegOK 7FFFh 00Ch hexcp : ( 0 DMegExcp : : DMegExcp = 0h, 400h DMegExcp 7FFFh 00Ch dwret : ( : 0 : 0 ( 1 DioSts API-PAC(W32RM/DIO 79
1 1h 3 1h 2 100[ms] 100 : 1 = 1 3 = 3 = 100[ms] = 100[ ] C HANDLE hok; WORD wmegok; HANDLE hexcp; WORD wmegexcp; DBOUTB lpdboutb; WORD OutBitNo[2]; BYTE OutBuf[100][2]; wmegok = 0x470; wmegexcp = 0x480; OutBitNo[0] = 1; /* 1 OutBitNo[1] = 3; /* 3 lpdboutb.outbitno = &OutBitNo[0]; /* OutBitNo lpdboutb.bitnum = 2; /* lpdboutb.datanum = 100; /* OutBuf[0][0] = 0x1; /* 1 OutBuf[0][1] = 0x1; /* 2 lpdboutb.buf = &OutBuf[0][0]; /* OutBuf lpdboutb.tim = 10; /* dwret = DioBitOutBack(hDrv, &1pDBOutB, hok, wmegok, hexcp, wmegexcp; ErrChk(dwRet; /* 80 API-PAC(W32RM/DIO
Visual Basic Dim hdrv Dim lpdboutb As DBOUTB Dim OutBitNo(1 As Integer Dim OutBuf(1,99 As Byte Dim dwret MsgOK.Message = &H470 MsgExcp.Message = &H480 OutBitNo(0 = 1 ' 1 OutBitNo(1 = 3 ' 3 lpdboutb.outbitno = LpWord(OutBitNo(0 ' OutBitNo lpdboutb.bitnum = 2 ' lpdboutb.datanum = 100 ' OutBuf(0,0 = &H1 ' 1 OutBuf(1,0 = &H1 ' 2 lpdboutb.buf = LpByte(OutBuf(0,0 ' OutBuf lpdboutb.tim = 10 ' dwret = DioBitOutBack(hDrv, lpdboutb, MsgOK.hWnd, MsgOK.Message, MsgExcp.hWnd, MsgExcp.Message ErrChk(dwRet ' API-PAC(W32RM/DIO 81
DBOUTB (C typedef struct tagdboutb{ LPWORD OutBitNo; WORD BitNum; WORD DataNum; LPBYTE Buf; WORD Tim; }DBOUTB; (Visual Basic Type DBOUTB OutBitNo BitNum DataNum Buf Tim End Type As Integer As Integer As Integer OutBitNo : : 0 OutBitNo - 1 610h BitNum : : 1 BitNum 611h DataNum : : 1 DataNum FFFFh 609h Buf : Tim : : 1 Tim FFFFh [ms] = 10[ms] Tim( 60Ah OutBitNo BitNum 82 API-PAC(W32RM/DIO
DioSts DioInpBack, DioOutBack, DioBitInpBack, DioBitOutBack, DioPtnStart DioTrgStart (C WORD Sts; WORD Cnt; dwret = DioSts(hDrv, &Sts, &Cnt; (Visual Basic Dim hdrv Dim Sts As Integer Dim Cn As Integer Dim dwret dwret = DioSts(hDrv, Sts, Cnt hdrv : DioOpen Sts : DioInpBack, DioOutBack, DioBitInpBack, DioBitOutBack, DioPtnStart DioTrgStart : 0 : 1 : 2 : 3 : Cnt : dwret : ( : 0 : 0 ( DioInpBack, DioBitInpBack, DioOutBack, DioBitOutBack, DioPtnStart DioTrgStart API-PAC(W32RM/DIO 83
: Sts Cnt C WORD Sts; WORD Cnt; dwret = DioSts(hDrv, &Sts, &Cnt; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim Sts As Integer Dim Cnt As Integer Dim dwret dwret = DioSts(hDrv, Sts, Cnt ErrChk(dwRet ' 84 API-PAC(W32RM/DIO
DioStop (C dwret = DioStop(hDrv; (Visual Basic Dim hdrv Dim dwret dwret = DioStop(hDrv hdrv : DioOpen dwret : ( : 0 : 0 ( DioInpBack, DioBitInpBack, DioOutBack, DioBitOutBack, DioPtnStart DioTrgStart C dwret = DioStop(hDrv; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim dwret dwret = DioStop(hDrv ErrChk(dwRet ' API-PAC(W32RM/DIO 85
DioPtnSet (C DPTNSET lpdptnset; dwret = DioPtnSet(hDrv, &lpdptnset; (Visual Basic Dim hdrv Dim lpdptnset As DPTNSET Dim dwret dwret = DioPtnSet(hDrv, lpdptnset hdrv : DioOpen lpdptnset : DPTNSET dwret : ( : 0 : 0 ( DioPtnStart DioPtnSts Q&A 86 API-PAC(W32RM/DIO
0 100[ms] 22h, 55h 88h : = 0 = 0 : 22h = 1 : 55h = 2 : 88h = 100[ms] C DPTNSET lpdptnset; WORD InpPortNo[1]; DWORD StsBuf[3]; InpPortNo[0] = 0; /* 0 lpdptnset.inpportno = &InpPortNo[0]; /* InpPortNo lpdptnset.portnum = 1; /* StsBuf[0] = 22h; /* 0 StsBuf[1] = 55h; /* 1 StsBuf[2] = 88h; /* 2 lpdptnset.stsbuf = StsBuf[0]; /* StsBuf[0] lpdptnset.stsbufnum = 3; /* lpdptnset.tim = 10; /* dwret = DioPtnSet(hDrv, &lpdptnset; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim lpdptnset As DPTNSET Dim InpPortNo(0 As Integer Dim StsBuf(2 Dim dwret InpPortNo(0 = 0 lpdptnset.inpportno = LpWord(InpPortNo(0 lpdptnset.portnum = 1 StsBuf(0 = &H22 StsBuf(1 = &H55 StsBuf(2 = &H88 lpdptnset.stsbuf = LpDWord(StsBuf(0 lpdptnset.stsbufnum = 3 lpdptnset.tim = 10 dwret = DioPtnSet(hDrv, lpdptnset ErrChk(dwRet ' 0 ' InpPortNo ' ' 0 ' 1 ' 2 ' StsBuf[0] ' ' ' API-PAC(W32RM/DIO 87
DPTNSET (C typedef struct tagdptnset{ LPWORD InpPortNo; WORD PortNum; LPDWORD StsBuf; DWORD StsBufNum; WORD Tim; }DPTNSET; (Visual Basic Type DPTNSET InpPortNo PortNum StsBuf StsBufNum Tim End Type As Integer As Integer InpPortNo : : 0 InpPortNo - 1 606h PortNum : : 1 PortNum 4 635h StsBuf : StsBufNum : : 1 StsBunNum FFFFFFFFh 636h Tim : : 1 Tim FFFFh [ms] = 10[ms] Tim( 60Ah InpPortNo StsBuf StsBuf PortNum StsBufNum 88 API-PAC(W32RM/DIO
DioPtnStart (C HANDLE hok; WORD DMegOK; dwret = DioPtnStart(hDrv, hok, DMegOK; (Visual Basic Dim hdrv Dim hok Dim DmegOK As Integer Dim dwret dwret = DioPtnStart(hDrv, hok, DMegOK hdrv : DioOpen hok : 0 DMegOK : ( : DMegOK = 0h, 400h DMegOK 7FFFh 00Ch dwret : ( : 0 : 0 ( DioSts 1 DioPtnSet DioPtnSts Q&A API-PAC(W32RM/DIO 89
C HANDLE hok; WORD wmegok; wmegok = 0x470; dwret = DioPtnStart(hDrv, hok, wmegok; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim dwret MsgOK.Message = &H470 dwret = DioPtnStart(hDrv, MsgOK.hWnd, MsgOK.Message ErrChk(dwRet ' 90 API-PAC(W32RM/DIO
DioPtnSts (C DWORD PtnSts; dwret = DioPtnSts(hDrv, &PtnSts; (Visual Basic Dim hdrv Dim PtnSts Dim dwret dwret = DioPtnSts(hDrv, PtnSts hdrv : DioOpen PtnSts : dwret : ( : 0 : 0 ( DioPtnSet DioPtnStart Q&A : PtnSts C DWORD PtnSts; dwret = DioPtnSts(hDrv, &PtnSts; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim PtnSts Dim dwret dwret = DioPtnSts(hDrv, PtnSts ErrChk(dwRet ' API-PAC(W32RM/DIO 91
DioTrgSet (C DTRGSET lpdtrgset; dwret = DioTrgSet(hDrv, &lpdtrgset; (Visual Basic Dim hdrv Dim lpdtrgset As DTRGSET Dim dwret dwret = DioTrgSet(hDrv, lpdtrgset hdrv : DioOpen lpdtrgset : DTRGSET dwret : ( : 0 : 0 ( DioTrgStart DioTrgSts Q&A 92 API-PAC(W32RM/DIO
0, 2 100[ms] 0, 1 2 : = 0 2 = 0, 2 = 0 : 0 : UP 1 : 2 : DOWN = 100[ms] C DTRGSET lpdtrgset; WORD InpBitNo[3]; BYTE InpBuf[3]; WORD TrgBitNo[2]; BYTE TrgKind[2]; InpBitNo[0] = 0; /* 0 InpBitNo[1] = 1; /* 1 InpBitNo[2] = 2; /* 2 LpDTrgSet.InpBitNo = &InpBitNo[0]; /* InpBitNo LpDTrgSet.BitNum = 3; /* LpDTrgSet.Buf = &InpBuf[0]; /* InpBuf TrgBitNo[0] = 0; /* 0 TrgBitNo[1] = 2; /* 2 LpDTrgSet.TrgBitNo = &TrgBitNo[0]; /* TrgBitNo LpDTrgSet.TrgBitNum = 2; /* TrgKind[0] = 2; /* 0 TrgKind[1] = 3; /* 1 LpDTrgSet.TrgKind = &TrgKind[0]; /* TrgKind lpdtrgset.tim = 10; /* dwret = DioTrgSet(hDrv, &lpdtrgset; ErrChk(dwRet; /* API-PAC(W32RM/DIO 93
Visual Basic Dim hdrv Dim lpdtrgset As DPTNSET Dim InpBitNo(2 As Integer Dim InpBuf(2 As Byte Dim TrgBitNo(1 As Integer Dim TrgKind(1 As Byte Dim dwret InpBitNo(0 = 0 ' 0 InpBitNo(1 = 1 ' 1 InpBitNo(2 = 2 ' 2 LpDTrgSet.InpBitNo = LpWord(InpBitNo(0 ' InpBitNo LpDTrgSet.BitNum = 3 ' LpDTrgSet.Buf = LpByte(InpBuf(0 ' InpBuf TrgBitNo(0 = 0 ' 0 TrgBitNo(1 = 2 ' 2 LpDTrgSet.TrgBitNo = LpWord(TrgBitNo(0 ' TrgBitNo LpDTrgSet.TrgBitNum = 2 ' TrgKind(0 = 2 ' 0 TrgKind(1 = 3 ' 1 LpDTrgSet.TrgKind = LpByte(TrgKind(0 ' TrgKind lpdtrgset.tim = 10 ' dwret = DioTrgSet(hDrv, lpdtrgset ErrChk(dwRet ' 94 API-PAC(W32RM/DIO
DTRGSET (C typedef struct tagdtrgset{ LPWORD InpBitNo; WORD BitNum; LPBYTE Buf; LPWORD TrgBitNo; WORD TrgBitNum; LPBYTE TrgKind; WORD Tim; }DTRGSET; (Visual Basic Type DTRGSET InpBitNo BitNum As Integer Buf TrgBitNo TrgBitNum As Integer TrgKind Tim As Integer End Type InpBitNo : : 0 InpBitNo - 1 610h BitNum : : 0 BitNum 611h Buf : TrgBitNo : : 0 TrgBitNo - 1 610h API-PAC(W32RM/DIO 95
TrgBitNum : : 1 TrgBitNum 611h TrgKind : : 0 TrgKind 3 638h Tim : : 1 Tim FFFFh [ms] = 10[ms] Tim( 60Ah InpBitNo TrgBitNo Buf Buf BitNum 96 API-PAC(W32RM/DIO
DioTrgStart (C HANDLE hok; WORD DMegOK; dwret = DioTrgStart(hDrv, hok, DMegOK; (Visual Basic Dim hdrv Dim hok Dim DmegOK As Integer Dim dwret dwret = DioTrgStart(hDrv, hok, DMegOK hdrv : DioOpen hok : 0 DMegOK : ( : DMegOK = 0h, 400h DMegOK 7FFFh 00Ch dwret : ( : 0 : 0 ( DioSts 1 DioTrgSet DioTrgSts Q&A API-PAC(W32RM/DIO 97
C HANDLE hok; WORD wmegok; wmegok = 0x470; dwret = DioTrgStart(hDrv, hok, wmegok; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim dwret MsgOK.Message = &H470 dwret = DioTrgStart(hDrv, MsgOK.hWnd, MsgOK.Message ErrChk(dwRet ' 98 API-PAC(W32RM/DIO
DioTrgSts (C DWORD TrgSts; dwret = DioTrgSts(hDrv, &TrgSts; (Visual Basic Dim hdrv Dim TrgSts Dim dwre dwret = DioTrgSts(hDrv, TrgSts hdrv : DioOpen TrgSts : dwret : ( : 0 : 0 ( DioTrgSet DioTrgStart Q&A API-PAC(W32RM/DIO 99
: PtnSts lpdtrgset.inpbuf C DWORD TrgSts; dwret = DioTrgSts(hDrv, &TrgSts; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim TrgSts Dim dwret dwret = DioTrgSts(hDrv, TrgSts ErrChk(dwRet ' 100 API-PAC(W32RM/DIO
DioInpBCD 2 BCD (C DIBCD lpdibcd; dwret = DioInpBCD(hDrv, &lpdibcd; (Visual Basic Dim hdrv Dim lpdibcd As DIBCD Dim dwret dwret = DioInpBCD(hDrv, lpdibcd hdrv : DioOpen lpdibcd : BCD DIBCD dwret : ( : 0 : 0 ( (PI PIO (PO 604h DioOpen, Dio8255Mode API-PAC(W32RM/DIO 101
0 BCD : = = 2 (1 C DIBCD lpdibcd; DWORD InpData; LpDIBcd.InpPortNo = 0; /* 0 LpDIBcd.Figure = 2; /* LpDIBcd.Value = &InpData; /* InpData dwret = DioInpBCD(hDrv, &lpdibcd; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim lpdibcd As DIBCD Dim InpData Dim dwret LpDIBcd.InpPortNo = 0 LpDIBcd.Figure = 2 LpDIBcd.Value = LpDWord(InpData dwret = DioInpBCD(hDrv, lpdibcd ErrChk(dwRet ' 0 ' ' InpData ' 102 API-PAC(W32RM/DIO
DIBCD (C typedef struct tagdibcd{ DWORD InpPortNo; WORD Figure; LPDWORD Value; }DIBCD; (Visual Basic Type DIBCD InpPortNo Figure Value End Type As Integer InpPortNo : 2 BCD (LSP : 0 InpPortNo - 1 606h Figure : 2 BCD 4bit(1/2 1 : 1 Figure 8 63Ah Value : 2 BCD Figure (InpPortNo+Figure/2 63Ah Value 16 9 63Bh API-PAC(W32RM/DIO 103
DioOutBCD BCD 2 (C DOBCD lpdobcd; dwret = DioOutBCD(hDrv, &lpdobcd; (Visual Basic Dim hdrv Dim lpdobcd As DOBCD Dim dwret dwret = DioOutBCD(hDrv, lpdobcd hdrv : DioOpen lpdobcd : BCD DOBCD dwret : ( : 0 : 0 ( (PO PIO (PO 605h DioOpen, Dio8255Mode 104 API-PAC(W32RM/DIO
0 BCD 56 : 0 = = 2 (1 = 56 C DOBCD lpdobcd; DWORD OutData; LpDOBcd.OutPortNo = 0; /* 0 LpDOBcd.Figure = 2; /* OutData = 56; /* LpDOBcd.Value = OutData; /* OutData dwret = DioOutBCD(hDrv, &lpdobcd; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim lpdobcd As DOBCD Dim OutData Dim dwret LpDOBcd.OutPortNo = 0 LpDOBcd.Figure = 2 OutData = 56 LpDOBcd.Value = OutData dwret = DioOutBCD(hDrv, lpdobcd ErrChk(dwRet ' 0 ' ' ' OutData ' API-PAC(W32RM/DIO 105
DOBCD (C typedef struct tagdobcd{ DWORD OutPortNo; WORD Figure; DWORD Value; }DOBCD; (Visual Basic Type DOBCD OutPortNo Figure Value End Type As Integer OutPortNo : BCD 2 (LSP : 0 OutPortNo - 1 606h Figure : BCD 2 4bit(1/2 1 : 1 Figure 8 63Ah Value : BCD : 1 Value 99999999 63Bh Figure (OutPortNo+Figure/2 63Bh 106 API-PAC(W32RM/DIO
DioNInpBCD 2 2 BCD (C DIBCD lpdibcd; dwret = DioNInpBCD(hDrv, &lpdibcd; (Visual Basic Dim hdrv Dim lpdibcd As DIBCD Dim dwret dwret = DioNInpBCD(hDrv, lpdibcd hdrv : DioOpen lpdibcd : BCD DIBCD dwret : ( : 0 : 0 ( (PI PIO (PO 604h DioOpen, Dio8255Mode API-PAC(W32RM/DIO 107
0 BCD : 0 = = 2 ( 1 C DIBCD lpdibcd; DWORD InpData; LpDIBcd.InpPortNo = 0; /* 0 LpDIBcd.Figure = 2; /* LpDIBcd.Value = &InpData; /* InpData dwret = DioNInpBCD(hDrv, &lpdibcd; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim lpdibcd As DIBCD Dim InpData Dim dwret LpDIBcd.InpPortNo = 0 LpDIBcd.Figure = 2 LpDIBcd.Value = LpDWord(InpData dwret = DioNInpBCD(hDrv, lpdibcd ErrChk(dwRet ' 0 ' ' InpData ' 108 API-PAC(W32RM/DIO
DIBCD (C typedef struct tagdibcd{ DWORD InpPortNo; WORD Figure; LPDWORD Value; }DIBCD; (Visual Basic Type DIBCD InpPortNo Figure Value End Type As Integer InpPortNo : 2 BCD (LSP : 0 InpPortNo - 1 606h Figure : 2 BCD 4bit(1/2 1 : 1 Figure 8 63Ah Value : 2 BCD Figure (InpPortNo+Figure/2 63Ah Value 16 9 63Bh API-PAC(W32RM/DIO 109
DioNOutBCD BCD 2 (C DOBCD lpdobcd; dwret = DioNOutBCD(hDrv, &lpdobcd; (Visual Basic Dim hdrv Dim lpdobcd As DOBCD Dim dwret dwret = DioNOutBCD(hDrv, lpdobcd hdrv : DioOpen lpdobcd : BCD DOBCD dwret : ( : 0 : 0 ( (PO PIO (PO 605h DioOpen, Dio8255Mode 110 API-PAC(W32RM/DIO
0 BCD 56 ( : 0 = = 2 (1 = 56 C DOBCD lpdobcd; DWORD OutData; LpDOBcd.OutPortNo = 0; /* 0 LpDOBcd.Figure = 2; /* OutData = 56; /* LpDOBcd.Value = OutData; /* OutData dwret = DioNOutBCD(hDrv, &lpdobcd; ErrChk(dwRet; * Visual Basic Dim hdrv Dim lpdobcd As DOBCD Dim OutData Dim dwret LpDOBcd.OutPortNo = 0 LpDOBcd.Figure = 2 OutData = 56 LpDOBcd.Value = OutData dwret = DioNOutBCD(hDrv, lpdobcd ErrChk(dwRet ' 0 ' ' ' OutData ' API-PAC(W32RM/DIO 111
DOBCD (C typedef struct tagdobcd{ DWORD OutPortNo; WORD Figure; DWORD Value; }DOBCD; (Visual Basic Type DOBCD OutPortNo Figure Value End Type As Integer OutPortNo : BCD 2 (LSP : 0 OutPortNo - 1 606h Figure : BCD 2 4bit(1/2 1 : 1 Figure 8 63Ah Value : BCD : 1 Value 99999999 63Bh Figure (OutPortNo+Figure/2 63Bh 112 API-PAC(W32RM/DIO
DioEvent (C WORD SigLog; WORD SigCh; HANDLE hwnd; WORD DMsgNo; dwret = DioEvent(hDrv, SigLog, SigCh, hwnd, DMsgNo; (Visual Basic Dim hdrv Dim SigLog As Integer Dim SigCh As Integer Dim hwnd Dim DmsgNo As Integer Dim dwret dwret = DioEvent(hDrv, SigLog, SigCh, hwnd, DMsgNo API-PAC(W32RM/DIO 113
hdrv : DioOpen SigLog : PCI (PIO-48D(PCI CompactPCI E 0 : 0 SigLog 1 0 : 1 : 622h SigCh : 1 PCI CompactPCI E PIO-96W(PC, PIO-120D(PC PIO-24W(PM 0 : E : 0 SigCh 3 0 : 100 1 : 101 2 : 102 3 : 103 CompactPCI : 0 SigCh Fh PCI (PIO-48D(PCI PI-128L(PCI PIO-64/64L(PCI : 0 SigCh Fh PIO-32/32L(PCIH PI-64L(PCIH PIO-16/16L(PCIH PI-32L(PCIH PIO-16/16RY(PCI 0 7 : I00 I07 8 15 : I10 I17 PIO-48D(PCI : 0 SigCh FFFFh High Byte : MSB LSB 1PB7 1PB6 1PB5 1PB4 1PB3 1PB2 1PB1 1PB0 Low Byte : MSB LSB 1PA7 1PA6 1PA5 1PA4 1PA3 1PA2 1PA1 1PA0 114 API-PAC(W32RM/DIO
PIO-64/64L(PCI PI-128L(PCI : 0 SigCh FFFFh High Byte : MSB LSB I17 I16 I15 I14 I13 I12 I11 I10 Low Byte : MSB LSB I07 I06 I05 I04 I03 I02 I01 I00 PIO-96W(PC : 0 SigCh FFh MSB LSB CN4 CN4 CN3 CN3 CN2 CN2 CN1 CN1 PC4 PC7 PC4 PC7 PC4 PC7 PC4 PC7 PIO-120D(PC : 0 SigCh 3FFh High Byte : Low Byte : PIO-96W(98K : 0 SigCh 3FFh PIO-24W(PM : 0 SigCh 3 PIO-32D(PM PIO-16/16L(PM : 0 SigCh FFFFh High Byte : MSB LSB I17 I16 I15 I14 I13 I12 I11 I10 Low Byte : MSB LSB I07 I06 I05 I04 I03 I02 I01 I00 623h hwnd : API-PAC(W32RM/DIO 115
( DMsgNo : 0 : DMsgNo = 0h, 400h DMsgNo 7FFFh 00Ch dwret : ( : 0 : 0 ( DioOpen Dio8255Mode 1 625h 0 : 1 DioSFilter Q&A SigLog, SigCh DioEventEx ISA/C 2 DioEventEx 116 API-PAC(W32RM/DIO
1 C HANDLE hwnd; WORD DMsgNo; WORD SigLog; WORD SigCh; DMsgNo = 0x470; SigLog = 0; /* 0 SigCh = 0; /* dwret = DioEvent(hDrv, SigLog, SigCh, hwnd, DMsgNo; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim SigLog As Integer Dim SigCh As Integer Dim dwret MsgOK.Message = &H470 SigLog = 0 ' 0 SigCh = 0 ' dwret = DioEvent(hDrv, SigLog, SigCh, MsgOK.hWnd, MsgOK.Message ErrChk(dwRet ' API-PAC(W32RM/DIO 117
DioIntEnable ( (C WORD IntMask; dwret = DioIntEnable(hDrv, IntMask (Visual Basic Dim hdrv Dim IntMask As Integer Dim dwret dwret = DioIntEnable(hDrv, IntMask hdrv : DioOpen IntMask : : 0 IntMask 1 0 : 1 : 624h dwret : ( : 0 : 0 ( DioEvent C WORD IntMask; IntMask = 1; /* / dwret = DioIntEnable(hDrv, IntMask; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim IntMask Dim dwret IntMask = 1 As Integer ' / dwret = DioIntEnable(hDrv, IntMask ErrChk(dwRet ' 118 API-PAC(W32RM/DIO
DioIntSence (C WORD IntSence; dwret = DioIntSence(hDrv, &IntSence; (Visual Basic Dim hdrv Dim IntSence As Integer Dim dwret dwret = DioIntSence(hDrv, IntSence hdrv : DioOpen IntSence : : 0 : 1 : CompactPCI PCI (PIO-48D(PCI PI-128L(PCI PIO-64/64L(PCI : API-PAC(W32RM/DIO 119
PIO-32/32L(PCIH PI-64L(PCIH PIO-16/16L(PCIH PI-32L(PCIH PIO-16/16RY(PCI : 0 7 :I00 I07 8 15 :I10 I17 PIO-48D(PCI : High Byte : MSB LSB 1PB7 1PB6 1PB5 1PB4 1PB3 1PB2 1PB1 1PB0 Low Byte : MSB LSB 1PA7 1PA6 1PA5 1PA4 1PA3 1PA2 1PA1 1PA0 PIO-64/64L(PCI PI-128L(PCI : 0 SigCh FFFFh High Byte : MSB LSB I17 I16 I15 I14 I13 I12 I11 I10 Low Byte : MSB LSB I07 I06 I05 I04 I03 I02 I01 I00 PIO-96W(PC : MSB LSB CN4 CN4 CN3 CN3 CN2 CN2 CN1 CN1 PC4 PC7 PC4 PC7 PC4 PC7 PC4 PC7 PIO-120D(PC : High Byte : Low Byte : PIO-96W(98K : PIO-24W(PM : 120 API-PAC(W32RM/DIO
PIO-32D(PM PIO-16/16L(PM : High Byte : MSB LSB I17 I16 I15 I14 I13 I12 I11 I10 Low Byte : MSB LSB I07 I06 I05 I04 I03 I02 I01 I00 623h dwret : ( : 0 : 0 ( PCI CompactPCI PIO-24W(PM PIO-96W(98K DioEvent PIO-16/16L(PCI, PIO-16/16T(PCI, PIO-32/32B(PCIH, PIO-32/32L(PCI, PIO-32/32T(PCI, PI-64L(PCI, PIO-32/32L(CPCI, PI-64L(CPCI DioEvent 0 : IntSence C WORD Intsence; dwret = DioIntSence(hDrv, &IntSence; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim dwret Dim IntSence As Integer dwret = DioIntSence(hDrv, IntSence ErrChk(dwRet ' API-PAC(W32RM/DIO 121
DioEventEx 1 ( (C WORD SigLog; WORD SigCh; HANDLE hwnd; WORD DMsgNo; dwret = DioEventEx(hDrv, SigLog, SigCh, hwnd, DMsgNo; (Visual Basic Dim hdrv Dim SigLog As Integer Dim SigCh As Integer Dim hwnd Dim DMsgNo As Integer Dim dwret dwret = DioEventEx(hDrv, SigLog, SigCh, hwnd, DMsgNo 122 API-PAC(W32RM/DIO
hdrv : DioOpen SigLog : PCI (PIO-48D(PCI CompactPCI E 0 : 0 SigLog 1 0 1 622h SigCh : PCI CompactPCI E PIO-96W(PC PIO-120D(PC PIO-24W(PM DioEvent SigCh : : 0 SigCh 3 1 : IRQ 1 : 2ndIRQ 2 : 3ndIRQ 3 : 4thIRQ E : 0 SigCh 3h 0 : I00 1 : I01 2 : I02 3 : I03 CompactPCI : 0 SigCh 3 PCI (PIO-48D(PCI PI-128L(PCI PIO-64/64L(PCI : 0 SigCh 3h 0 : I00 1 : I01 2 : I02 3 : I03 PIO-64/64L(PCI PI-128L(PCI: 0 SigCh Fh 0 7 : I00 I07 8 15 : I10 I17 API-PAC(W32RM/DIO 123
PIO-32/32L(PCIH PI-64L(PCIH PI-32L(PCIH 0 SigCh 31 0 7 : I00 I07 8 15 : I10 I17 16 23 : I20 I27 24 31 : I30 I37 PIO-16/16L(PCIH PIO-16/16RY(PCI 0 SigCh 15 PIO-48D(PCI : 0 SigCh 47 0 7 : I00 I07 8 15 : I10 I17 0 : 1PA0 : 7 : 1PA7 8 : 1PB0 : 15 : 1PB7 16 : 1PC0 : 23 : 1PC7 24 31 : 2PA0 7 32 39 : 2PB0 7 40 47 : 2PC0 7 PIO-96W(PC : 0 SigCh 8 0 : CN1 PC7 1 : CN1 PC4 2 : CN2 PC7 3 : CN2 PC4 4 : CN3 PC7 5 : CN3 PC4 6 : CN4 PC7 7 : CN4 PC4 PIO-120D(PC : 0 SigCh 9 0 : CN1 PC0 1 : CN1 PC3 2 : CN2 PC0 3 : CN2 PC3 4 : CN3 PC0 5 : CN3 PC3 6 : CN4 PC0 7 : CN4 PC3 8 : CN5 PC0 9 : CN5 PC3 124 API-PAC(W32RM/DIO
PIO-24W(PM : 0 SigCh 1 0 : CN1 PC0 1 : CN1 PC3 PIO-32D(PM : 0 SigCh 31 0 7 : I00 I07 8 15 : I10 I17 16 23 : I20 I27 24 31 : I30 I37 PIO-16/16L(PM : 0 SigCh 15 0 7 : I00 I07 8 15 : I10 I17 623h hwnd : ( 0 DMsgNo : DMsgNo = 0h, 400h DMsgNo 7FFFh 00Ch dwret : ( : 0 : 0 ( DioOpen Dio8255Mode 1 625h "0 1" DioSFilter Q&A" " SigLog DioEvent API-PAC(W32RM/DIO 125
1 1 0 C HANDLE hwnd; WORD DMsgNo; WORD SigLog; WORD SigCh; DMsgNo = 0x470; SigLog = 0; /* 0 SigCh = 0; /* dwret = DioEventEx(hDrv, SigLog, SigCh, hwnd, DMsgNo; ErrChk(dwRet; /* DMsgNo = 0x471; SigLog = 0; /* 0 SigCh = 1; /* dwret = DioEventEx(hDrv, SigLog, SigCh, hwnd, DMsgNo; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim SigLog Dim SigCh Dim dwret As Integer As Integer MsgOK0.Message = &H470 SigLog = 0 ' 0 SigCh = 0 ' dwret = DioEventEx(hDrv, SigLog, SigCh, MsgOK0.hWnd, MsgOK0.Message ErrChk(dwRet ' MsgOK1.Message = &H471 SigLog = 0 ' 0 SigCh = 1 ' dwret = DioEventEx(hDrv, SigLog, SigCh, MsgOK1.hWnd, MsgOK1.Message ErrChk(dwRet ' 126 API-PAC(W32RM/DIO
DioIntEnableEx ( ( (C WORD SigCh; WORD IntMask; dwret = DioIntEnableEx(hDrv, SigCh, IntMask (Visual Basic Dim hdrv Dim SigCh As Integer Dim IntMask As Integer Dim dwret dwret = DioIntEnableEx(hDrv, SigCh, IntMask hdrv : DioOpen SigCh : DioEventEx IntMask : : 0 IntMask 1 0 1 624h dwret : ( : 0 : 0 ( DioEventEx API-PAC(W32RM/DIO 127
C WORD SigCh; WORD IntMask; SigCh = 0; /* IntMask = 1; /* / dwret = DioIntEnableEx(hDrv, SigCh, IntMask; ErrChk(dwRet; Visual Basic Dim hdrv Dim SigCh Dim IntMask Dim dwret As Integer As Integer /* SigCh = 0 ' IntMask = 1 ' / dwret = DioIntEnableEx(hDrv, SigCh, IntMask ErrChk(dwRet ' 128 API-PAC(W32RM/DIO
LpByte Visual Basic (8 (C (Visual Basic Dim Data As Byte Dim Param Param = LpByte(Data Data : Param : Data Visual Basic LpWord Visual Basic (16 (C (Visual Basic Dim Data As Integer Dim Param Param = LpWord(Data Data : Param : Data Visual Basic LpDWord Visual Basic (32 (C (Visual Basic Dim Data Dim Param Param = LpDWord(Data Data : Param : Data Visual Basic API-PAC(W32RM/DIO 129
"0" "0" API-TOOL 000h 001h 002h 003h 004h 005h 00Ch 010h 011h : 0 DrvNo 3 : 1 GrpNo 4 : WM_USER = 0h, 400h WM_USER 7FFFh PCI CompactPCI BoardID PCI CompactPCI BoardID CONFIG.EXE BoardID PCI CompactPCI BoardID PCI CompactPCI BoardID 130 API-PAC(W32RM/DIO
API-DIO 600h 601h 602h 603h 604h 605h 606h 607h 608h 609h 60Ah 60Bh 610h : 0 PortNo - 1 : 1 PortNum DioInpBack, DioBitInpBack, DioOutBack, DioBitOutBack, DioPtnStart DioTrgStart : 1 DataNum FFFFh DioInpBack, DioBitInpBack, DioOutBack, DioBitOutBack, DioPtnStart DioTrgStart DioStop : 0 BitNo - 1 API-PAC(W32RM/DIO 131
611h 612h 613h 620h 621h 622h 623h 624h 625h 626h 627h 628h 629h 630h 631h 632h : 1 BitNum : 3 7, 9 12, 14, 15 : 0 SigLog 1 : 0 SigCh 3FFh / / : 0 IntMask 1 DioIntEnable DioEvent DioIntEnable DioEvent DioEvent Dio8255Mode : 0 CNx ( - 1 Dio8255Mode Dio8255Mode : 0 PortNo 2 132 API-PAC(W32RM/DIO
633h 634h 635h 636h 637h 638h 639h 63Ah 63Bh 63Ch 642h E PCI CompactPCI PCI CompactPCI E JP2 2-3 Q&A : E PCI CompactPCI 0 TimCode 20 0, 12 TimCode 20 : 1 PortNum 4 : 1 StsBufNum FFFFFFFFh DioPtnSet DioPtnStart DioPtnStart DioPtnSts : 0 TrgKind 3 DioTrgSet DioTrgStart DioTrgStart DioTrgSts BCD BCD : 1 Figure 8 : (PortNo+Figure/2 BCD BCD : 1 Value 99999999 1 16 : 0 16 9 API-PAC(W32RM/DIO 133
134 API-PAC(W32RM/DIO
PIO-32DM(PCI PIO-32DM(PCI PIO-32DM(PCI API-TOOL API-PAC(W32 ( 1 Windows XP/2000 Windows Me/98/95 OS (HWINST.HLP DLL (VXD/SYS 1 PIO-32DM(PCI 1 1 Windows Me/98/95 API-TOOL C: CONTECW95 CONFIG.EXE C: CONTECW95 APCFG.DLL C: WINDOWS SYSTEM APCFG.VXD DLL VXD Windows XP/2000/NT 2 C: WINDOWS SYSTEM APIDIO.DLL C: WINDOWS SYSTEM APIDIO05.VXD API-TOOL C: CONTEC CONFIG.EXE C: CONTEC APCFG.DLL C: WINNT SYSTEM32 DRIVERS APCFG.SYS DLL SYS C: WINNT SYSTEM32 APIDIO.DLL C: WINNT SYSTEM32 DRIVERS APIDIO05.SYS DLL VisualC++ (APIDIODM.H LIB (APIDIO.LIB VisualBasic (APIDIODM.BAS 2 Windows XP 2000 VB4.0 Windows XP 2000 MFC API-PAC(W32RM/DIO 135
PIO-32DM(PCI PIO-32DM(PCI / ( 3.1 136 API-PAC(W32RM/DIO
PIO-32DM(PCI API-PAC(W32RM/DIO 137 (DioOpen DioOpenEx (DioDmSetDirection 32 32 16 16 / / 1 (DioDmSetStandAlone 1 ( (DioDmSetSetMasterCfg ( (DioDmSetSlaveCfg (SC ( / ( / / / ( (DioDmSetStartTrg ( (DioDmSetClockTrg ( (DioDmSetStopTrg 3 ( /
PIO-32DM(PCI 138 API-PAC(W32RM/DIO / 3.1 / DIODM_START_SOFT DIODM_START_EXT_RISE DIODM_START_EXT_FALL ( DIODM_START_PATTERN SC EXTSIG1 DIODM_START_EXTSIG_1 SC EXTSIG2 DIODM_START_EXTSIG_2 SC EXTSIG3 DIODM_START_EXTSIG_3 DIODM_CLK_CLOCK DIODM_CLK_EXT_TRG DIODM_CLK_HANDSHAKE SC EXTSIG1 DIODM_CLK_EXTSIG_1 SC EXTSIG2 DIODM_CLK_EXTSIG_2 SC EXTSIG3 DIODM_CLK_EXTSIG_3 DIODM_STOP_SOFT DIODM_STOP_EXT_RISE DIODM_STOP_EXT_FALL DIODM_STOP_NUM_1 SC EXTSIG1 DIODM_STOP_EXTSIG_1 SC EXTSIG1 DIODM_STOP_EXTSIG_2 SC EXTSIG1 DIODM_STOP_EXTSIG_3 FIFO (DioDmReset ( (DioDmSetBuff
PIO-32DM(PCI API-PAC(W32RM/DIO 139 PIO-32DM(PCI 64MByte ( FIFO (DioDmSetBuff PIO-32DM(PCI 64MByte / (DioDmStart / / DioDmStart / FIFO FIFO / / (DioDmGetStatus (DioDmSetStopEvent (DioDmGetCount /
PIO-32DM(PCI 140 API-PAC(W32RM/DIO PIO (DioDmInpDWord (DioDmOutDWord PIO 4 (DioEvent, DioIntSence, DioIntEnable, DioEventEx, DioIntEnableEx DIOA00 DIOA03 PIO 2 (SC EXTSIG1 EXTSIG3 DioDmSetSetMasterCfg EXTSIG1 EXTSIG3 DioDmSetSlaveCfg EXTSIG1 EXTSIG3 EXTSIG1 EXTSIG3 (DioDmSetStartTrg (DioDmSetClockTrg (DioDmSetStopTrg 3 EXTSIG1 EXTSIG3
PIO-32DM(PCI API-PAC(W32RM/DIO 141 3.2 / DIODM_EXT_START_SOFT_IN DIODM_EXT_STOP_SOFT_IN DIODM_EXT_CLOCK_IN DIODM_EXT_EXT_TRG_IN DIODM_EXT_START_EXT_RISE_IN DIODM_EXT_START_EXT_FALL_IN DIODM_EXT_START_PATTERN_IN DIODM_EXT_STOP_EXT_RISE_IN DIODM_EXT_STOP_EXT_FALL_IN DIODM_EXT_CLOCK_ERROR_IN DIODM_EXT_HANDSHAKE_IN DIODM_EXT_START_SOFT_OUT DIODM_EXT_STOP_SOFT_OUT DIODM_EXT_CLOCK_OUT DIODM_EXT_EXT_TRG_OUT DIODM_EXT_START_EXT_RISE_OUT DIODM_EXT_START_EXT_FALL_OUT DIODM_EXT_STOP_EXT_RISE_OUT DIODM_EXT_STOP_EXT_FALL_OUT DIODM_EXT_CLOCK_ERROR_OUT DIODM_EXT_HANDSHAKE_OUT (DioClose
PIO-32DM(PCI 142 API-PAC(W32RM/DIO DioOpen DioOpenEx ( DioClose DioDmSetDirection DioDmSetStandAlone DioDmSetSetMasterCfg DioDmSetSlaveCfg / DioDmSetStartTrg DioDmSetStartPattern DioDmSetClockTrg DioDmSetInternalClock DioDmSetStopTrg DioDmSetStopNum DioDmReset FIFO DioDmSetBuff / DioDmStart / DioDmStop / DioDmGetStatus DioDmGetCount DioDmSetStopEvent DioDmSetCountEvent DioDmInpDWord DioDmOutDWord DioEvent DioIntSence DioIntEnable / DioEventEx ( DioIntEnableEx /
PIO-32DM(PCI DioOpen (C WORD DrvNo; WORD GrpNo; dwret = DioOpen(&hDrv, DrvNo, GrpNo; (Visual Basic Dim hdrv Dim DrvNo As Integer Dim GrpNo As Integer Dim dwret dwret = DioOpen(hDrv, DrvNo, GrpNo hdrv : DioDmXxxx DrvNo : : DrvNo=5 001h GrpNo : : 1 GrpNo 16 003h dwret : ( : 0 : 0 ( 1 (DioOpen 1 (DioClose (DioOpen (DioClose (DioClose 1 ( 1 API-PAC(W32RM/DIO 143
PIO-32DM(PCI API-TOOL 1 C WORD GrpNo, DrvNo; DrvNo = 5; GrpNo = 1; dwret = DioOpen(&hDrv, DrvNp, GrpNo; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim DrvNo As Integer Dim GrpNo As Integer Dim dwret DrvNo = 5 GrpNo = 1 dwret = DioOpen(hDrv, DrvNo, GrpNo ErrChk(dwRet ' 144 API-PAC(W32RM/DIO
PIO-32DM(PCI DioOpenEx ( (C char *DeviceName; dwret = DioOpenEx(DeviceName, &hdrv; (Visual Basic Dim hdrv Dim DeviceName As String Dim dwret dwret = DioOpenEx(DeviceName, hdrv hdrv : DioXxxx DeviceName : API-TOOL dwret : ( : 0 : 0 ( (DioClose (DioClose ( DioOpenEx DioOpenEx DioClose API-TOOL "DIO00" C dwret = DioOpenEx("DIO00", &hdrv; ErrChk(dwRet; Visual Basic Dim hdrv Dim dwret dwret = DioOpenEx("DIO00", hdrv ErrChk(dwRet /* ' API-PAC(W32RM/DIO 145
PIO-32DM(PCI DioClose (C dwret = DioClose(hDrv; (Visual Basic Dim hdrv Dim dwret dwret = DioClose(hDrv hdrv : DioOpen dwret : ( : 0 : 0 ( (DioOpen (DioOpen 'hdrv' DioClose DioOpen C dwret = DioClose(hDrv; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim dwret dwret = DioClose(hDrv ErrChk(dwRet ' 146 API-PAC(W32RM/DIO
PIO-32DM(PCI DioDmSetDirection (C DWORD Directoin; dwret = DioDmSetDirection(hDrv, Direction; (Visual Basic Dim hdrv Dim Direction Dim dwret dwret = DioDmSetDirection(hDrv, Direction hdrv : DioOpen Direction : PI_32 : 32 PO_32 : 32 PIO_1616 : 16 16 dwret : ( : 0 : 0 ( PI-32 32 C DWORD Directoin; Direction = PI_32; dwret = DioDmSetDirection(hDrv, Direction; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim Direction Dim dwret Direction = PI_32; dwret = DioDmSetDirection(hDrv, Direction ErrChk(dwRet ' API-PAC(W32RM/DIO 147
PIO-32DM(PCI DioDmSetStandAlone (C dwret = DioDmSetStandAlone(hDrv; (Visual Basic Dim hdrv Dim dwret dwret = DioDmSetStandAlone(hDrv hdrv : DioOpen dwret : ( : 0 : 0 ( / / / / C dwret = DioDmSetStandAlone(hDrv; ErrChk(dwRet; /* Visual Basic Dim hdrv im dwret dwret = DioDmSetStandAlone(hDrv ErrChk(dwRet ' 148 API-PAC(W32RM/DIO
PIO-32DM(PCI DioDmSetSetMasterCfg (C DWORD ExtSig1; DWORD ExtSig2; DWORD ExtSig3; DWORD MasterHalt; DWORD SlaveHalt; dwret = DioDmSetSetMasterCfg(hDrv, ExtSig1, ExtSig2, ExtSig3, MasterHalt, SlaveHalt; (Visual Basic Dim hdrv Dim ExtSig1 Dim ExtSig2 Dim ExtSig3 Dim MasterHalt Dim SlaveHalt Dim dwret dwret = DioDmSetSetMasterCfg(hDrv, ExtSig1, ExtSig2, ExtSig3, MasterHalt, SlaveHalt hdrv : DioOpen ExtSig1 : ExtSig2 : ExtSig3 : ExtSig1 ExtSig3 0 : DIODM_EXT_START_SOFT_IN : ( DIODM_EXT_STOP_SOFT_IN : ( DIODM_EXT_CLOCK_IN : ( DIODM_EXT_EXT_TRG_IN : ( DIODM_EXT_START_EXT_RISE_IN : ( DIODM_EXT_START_EXT_FALL_IN : ( DIODM_EXT_START_PATTERN_IN : ( API-PAC(W32RM/DIO 149
PIO-32DM(PCI DIODM_EXT_STOP_EXT_RISE_IN : ( DIODM_EXT_STOP_EXT_FALL_IN : ( DIODM_EXT_CLOCK_ERROR_IN : ( DIODM_EXT_HANDSHAKE_IN : ( MasterHalt : DIODM_EXT_START_SOFT_OUT : ( DIODM_EXT_STOP_SOFT_OUT : ( DIODM_EXT_CLOCK_OUT : ( DIODM_EXT_EXT_TRG_OUT : ( DIODM_EXT_START_EXT_RISE_OUT : ( DIODM_EXT_START_EXT_FALL_OUT : ( DIODM_EXT_STOP_EXT_RISE_OUT : ( DIODM_EXT_STOP_EXT_FALL_OUT : ( DIODM_EXT_CLOCK_ERROR_OUT : ( DIODM_EXT_HANDSHAKE_OUT : ( 1 : ( SlaveHalt : 1 : ( dwret : ( : 0 : 0 ( / / / / (SC (SC 150 API-PAC(W32RM/DIO
PIO-32DM(PCI ExtSig2 ExtSig1 ExtSig3 C DWORD ExtSig1, ExtSig2, ExtSig3, MasterHalt, SlaveHalt; ExtSig1 = DIODM_EXT_CLOCK_IN; ExtSig2 = DIODM_EXT_START_SOFT_IN; ExtSig3 = DIODM_EXT_STOP_SOFT_IN; MasterHalt = 1; SlaveHalt = 1; dwret = DioDmSetSetMasterCfg(hDrv, ExtSig1, ExtSig2, ExtSig3, MasterHalt, SlaveHalt; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim ExtSig1 Dim ExtSig2 Dim ExtSig3 Dim MasterHalt Dim SlaveHalt Dim dwret ExtSig1 = DIODM_EXT_CLOCK_IN ExtSig2 = DIODM_EXT_START_SOFT_IN ExtSig3 = DIODM_EXT_STOP_SOFT_IN MasterHalt = 1 SlaveHalt = 1 dwret = DioDmSetSetMasterCfg(hDrv, ExtSig1, ExtSig2, ExtSig3, MasterHalt, SlaveHalt ErrChk(dwRet ' API-PAC(W32RM/DIO 151
PIO-32DM(PCI DioDmSetSlaveCfg (C DWORD ExtSig1; DWORD ExtSig2; DWORD ExtSig3; DWORD MasterHalt; DWORD SlaveHalt; dwret = DioDmSetSlaveCfg(hDrv, ExtSig1, ExtSig2, ExtSig3, MasterHalt, SlaveHalt; (Visual Basic Dim hdrv Dim ExtSig1 Dim ExtSig3 Dim MasterHalt Dim SlaveHalt Dim dwret dwret = DioDmSetSlaveCfg(hDrv, ExtSig1, ExtSig2, ExtSig3, MasterHalt, SlaveHalt hdrv : DioOpen ExtSig1 : ExtSig2 : ExtSig3 : 0 : 1 : MasterHalt : 1 : ( SlaveHalt : 1 : ( dwret : ( : 0 : 0 ( / / / / (SC (SC 152 API-PAC(W32RM/DIO
PIO-32DM(PCI ExtSig1 ExtSig2 ExtSig3 C DWORD ExtSig1, ExtSig2, ExtSig3, MasterHalt, SlaveHalt; ExtSig1 = 1; ExtSig2 = 1; ExtSig3 = 1; MasterHalt = 1; SlaveHalt = 1; dwret = DioDmSetSlaveCfg(hDrv, ExtSig1, ExtSig2, ExtSig3, MasterHalt, SlaveHalt; ErrChk(dwRet; Visual Basic Dim hdrv Dim ExtSig1 Dim ExtSig2 Dim ExtSig3 Dim MasterHalt Dim SlaveHalt Dim dwret /* ExtSig1 = 1 ExtSig2 = 1 ExtSig3 = 1 MasterHalt = 1 SlaveHalt = 1 dwret = DioDmSetSlaveCfg(hDrv, ExtSig1, ExtSig2, ExtSig3, MasterHalt, SlaveHalt ErrChk(dwRet ' API-PAC(W32RM/DIO 153
PIO-32DM(PCI DioDmSetStartTrg (C DWORD Dir; DWORD Start; dwret = DioDmSetStartTrg(hDrv, Dir, Start; (Visual Basic Dim hdrv Dim Dir Dim Start Dim dwret dwret = DioDmSetStartTrg(hDrv, Dir, Start hdrv : DioOpen Dir : DIODM_DIR_IN : DIODM_DIR_OUT : EXTSIG1 EXTSIG3 Start : DIODM_START_SOFT : DIODM_START_EXT_RISE : DIODM_START_EXT_FALL : DIODM_START_PATTERN : ( DIODM_START_EXTSIG_1 : SC EXTSIG1 DIODM_START_EXTSIG_2 : SC EXTSIG2 DIODM_START_EXTSIG_3 : SC EXTSIG3 dwret : ( : 0 : 0 ( DioDmSetStartPattern 154 API-PAC(W32RM/DIO
PIO-32DM(PCI C DWORD Dir; DWORD Start; Dir = DIODM_DIR_IN; Start = DIODM_START_SOFT; dwret = DioDmSetStartTrg(hDrv, Dir, Start; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim Dir Dim Start Dim dwret Dir = DIODM_DIR_IN Start = DIODM_START_SOFT dwret = DioDmSetStartTrg(hDrv, Dir, Start ErrChk(dwRet ' API-PAC(W32RM/DIO 155
PIO-32DM(PCI DioDmSetStartPattern (C DWORD Ptn; DWORD Mask; dwret = DioDmSetStartPattern(hDrv, Ptn, Mask; (Visual Basic Dim hdrv Dim Ptn Dim Mask Dim dwret dwret = DioDmSetStartPattern(hDrv, Ptn, Mask hdrv : DioOpen Ptn : Mask : ( : Bit=0, : Bit=1 dwret : ( : 0 : 0 ( DioDmSetStartTrg DIODM_START_PATTERN 0 7 55h C DWORD Ptn; DWORD Mask; Ptn = 0x00000055; Mask = 0x000000ff; dwret = DioDmSetStartPattern(hDrv, Ptn, Mask; ErrChk(dwRet; /* 156 API-PAC(W32RM/DIO
PIO-32DM(PCI Visual Basic Dim hdrv Dim Ptn Dim Mask Dim dwret Ptn = &H55 Mask = &HFF dwret = DioDmSetStartPattern(hDrv, Ptn, Mask ErrChk(dwRet ' API-PAC(W32RM/DIO 157
PIO-32DM(PCI DioDmSetClockTrg / (C DWORD Dir; DWORD Clock; dwret = DioDmSetClockTrg(hDrv, Dir, Clock; (Visual Basic Dim hdrv Dim Dir Dim Clock Dim dwret dwret = DioDmSetClockTrg(hDrv, Dir, Clock hdrv : DioOpen Dir : DIODM_DIR_IN : DIODM_DIR_OUT : EXTSIG1 EXTSIG3 Clock : DIODM_CLK_CLOCK : ( DIODM_CLK_EXT_TRG : DIODM_CLK_HANDSHAKE : DIODM_CLK_EXTSIG_1 : SC EXTSIG1 DIODM_CLK_EXTSIG_2 : SC EXTSIG2 DIODM_CLK_EXTSIG_3 : SC EXTSIG3 dwret : ( : 0 : 0 ( C DWORD Dir; DWORD Clock; Dir = DIODM_DIR_IN; Clock = DIODM_CLK_CLOCK; dwret = DioDmSetClockTrg(hDrv, Dir, Clock; ErrChk(dwRet; /* 158 API-PAC(W32RM/DIO
PIO-32DM(PCI Visual Basic Dim hdrv Dim Dir Dim Clock Dim dwret Dir = DIODM_DIR_IN; Clock = DIODM_CLK_CLOCK; dwret = DioDmSetClockTrg(hDrv, Dir, Clock ErrChk(dwRet ' API-PAC(W32RM/DIO 159
PIO-32DM(PCI DioDmSetInternalClock (C DWORD Dir; DWORD Clock; DWORD Unit; dwret = DioDmSetInternalClock(hDrv, Dir, Clock, Unit; (Visual Basic Dim hdrv Dim Dir Dim Clock Dim Unit Dim dwret dwret = DioDmSetInternalClock(hDrv, Dir, Clock, Unit hdrv : DioOpen Dir : DIODM_DIR_IN : DIODM_DIR_OUT : Clock : : 50ns Clock 107sec(25ns DWORD Unit; DIODM_TIM_UNIT_S : 1 DIODM_TIM_UNIT_MS : 1ms DIODM_TIM_UNIT_US : 1 s DIODM_TIM_UNIT_NS : 1ns dwret : ( : 0 : 0 ( 1 s ns 25ns SetClock = (Clock/25 160 API-PAC(W32RM/DIO
PIO-32DM(PCI 1MHz(1 s C DWORD Dir; DWORD Clock; DWORD Unit; Dir = DIODM_DIR_IN; Clock = 1; Unit = DIODM_TIM_UNIT_US; dwret = DioDmSetInternalClock(hDrv, Dir, Clock, Unit; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim Dir Dim Clock Dim Unit Dim dwret Dir = DIODM_DIR_IN Clock = 1 Unit = DIODM_TIM_UNIT_US dwret = DioDmSetInternalClock(hDrv, Dir, Clock, Unit ErrChk(dwRet ' API-PAC(W32RM/DIO 161
PIO-32DM(PCI DioDmSetStopTrg / (C DWORD Dir; DWORD Stop; dwret = DioDmSetStopTrg(hDrv, Dir, Stop; (Visual Basic Dim hdrv Dim Dir Dim Stop Dim dwret dwret = DioDmSetStopTrg(hDrv, Dir, Stop hdrv : DioOpen Dir : DIODM_DIR_IN : DIODM_DIR_OUT : EXTSIG1 EXTSIG3 Stop : DIODM_STOP_SOFT : DIODM_STOP_EXT_RISE : DIODM_STOP_EXT_FALL : DIODM_STOP_NUM : DIODM_STOP_EXTSIG_1 : SC EXTSIG1 DIODM_STOP_EXTSIG_2 : SC EXTSIG2 DIODM_STOP_EXTSIG_3 : SC EXTSIG3 dwret : ( : 0 : 0 ( (DioDmStop 162 API-PAC(W32RM/DIO
PIO-32DM(PCI C DWORD Dir; DWORD Stop; Dir = DIODM_DIR_IN; Stop = DIODM_STOP_SOFT; dwret = DioDmSetStopTrg(hDrv, Dir, Stop; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim Dir Dim Stop Dim dwret Dir = DIODM_DIR_IN Stop = DIODM_STOP_SOFT dwret = DioDmSetStopTrg(hDrv, Dir, Stop ErrChk(dwRet ' API-PAC(W32RM/DIO 163
PIO-32DM(PCI DioDmSetStopNum (C DWORD Dir; DWORD StopNum; dwret = DioDmSetStopNum(hDrv, Dir, StopNum; (Visual Basic Dim hdrv Dim Dir Dim StopNum Dim dwret dwret = DioDmSetStopNum(hDrv, Dir, StopNum hdrv : DioOpen Dir : DIODM_DIR_IN : DIODM_DIR_OUT : StopNum : 1 StopNum 16777215(24Bit dwret : ( : 0 : 0 ( 1000 10000 C DWORD Dir; DWORD StopNum; Dir = DIODM_DIR_IN; StopNum = 10000; dwret = DioDmSetStopNum(hDrv, Dir, StopNum; ErrChk(dwRet; /* 164 API-PAC(W32RM/DIO
PIO-32DM(PCI Visual Basic Dim hdrv Dim Dir Dim StopNum Dim dwret Dir = DIODM_DIR_IN StopNum = 10000 dwret = DioDmSetStopNum(hDrv, Dir, StopNum ErrChk(dwRet ' API-PAC(W32RM/DIO 165
PIO-32DM(PCI DioDmReset FIFO (C DWORD Reset; dwret = DioDmReset(hDrv, Reset; (Visual Basic Dim hdrv Dim Reset Dim dwret dwret = DioDmReset(hDrv, Reset hdrv : DioOpen Reset : DIODM_RESET_FIFO_IN : FIFO DIODM_RESET_FIFO_OUT : FIFO dwret : ( : 0 : 0 ( FIFO FIFO FIFO FIFO C DWORD Reset; Reset = DIODM_RESET_FIFO_IN; dwret = DioDmReset(hDrv, Reset; ErrChk(dwRet; Visual Basic Dim hdrv Dim Reset Dim dwret Reset = DIODM_RESET_FIFO_IN dwret = DioDmReset(hDrv, Reset ErrChk(dwRet /* ' 166 API-PAC(W32RM/DIO
PIO-32DM(PCI DioDmSetBuff / (C DWORD Dir; DWORD *Buff; DWORD Len; DWORD IsRing; dwret = DioDmSetBuff(hDrv, Dir, Buff, Len, IsRing; (Visual Basic Dim hdrv Dim Dir Dim Buff Dim Len Dim IsRing Dim dwret dwret = DioDmSetBuff(hDrv, Dir, Buff, Len, IsRing hdrv : DioOpen Dir : DIODM_DIR_IN : DIODM_DIR_OUT : Buff : Len : ( 64MByte IsRing : DIODM_WRITE_ONCE : 1 DIODM_WRITE_RING : dwret : ( : 0 : 0 ( IsRing (1 64Mbyte 64Mbyte API-PAC(W32RM/DIO 167
PIO-32DM(PCI 32 C DWORD Dir; DWORD Buff[1000]; DWORD Len; DWORD IsRing; Dir = DIODM_DIR_IN; Len = 1000; IsRing = DIODM_WRITE_ONCE; dwret = DioDmSetBuff(hDrv, Dir, (void *&Buff[0], Len, IsRing; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim Dir Dim Buff(1000 Dim Len Dim IsRing Dim dwret Dir = DIODM_DIR_IN Len = 1000 IsRing = DIODM_WRITE_ONCE dwret = DioDmSetBuff(hDrv, Dir, Buff(0, Len, IsRing ErrChk(dwRet ' 168 API-PAC(W32RM/DIO
PIO-32DM(PCI DioDmStart / (C DWORD Dir; dwret = DioDmStart(hDrv, Dir; (Visual Basic Dim hdrv Dim Dir Dim dwret dwret = DioDmStart(hDrv, Dir hdrv : DioOpen Dir : DIODM_DIR_IN : DIODM_DIR_OUT : dwret : ( : 0 : 0 ( C DWORD Dir; Dir = DIODM_DIR_IN; wret = DioDmStart(hDrv, Dir; ErrChk(dwRet; Visual Basic Dim hdrv Dim Dir Dim dwret Dir = DIODM_DIR_IN dwret = DioDmStart(hDrv, Dir ErrChk(dwRet /* ' API-PAC(W32RM/DIO 169
PIO-32DM(PCI DioDmStop / (C DWORD Dir; dwret = DioDmStop(hDrv, Dir; (Visual Basic Dim hdrv Dim Dir Dim dwret dwret = DioDmStop(hDrv, Dir hdrv : DioOpen Dir : DIODM_DIR_IN : DIODM_DIR_OUT : dwret : ( : 0 : 0 ( ( C DWORD Dir; Dir = DIODM_DIR_IN; dwret = DioDmStop(hDrv, Dir; ErrChk(dwRet; Visual Basic Dim hdrv Dim dwret /* Dir = DIODM_DIR_IN dwret = DioDmStop(hDrv, Dir ErrChk(dwRet ' 170 API-PAC(W32RM/DIO
PIO-32DM(PCI DioDmGetStatus (C DWORD Status; DWORD Err; dwret = DioDmGetStatus(hDrv, Dir, &Status, &Err; (Visual Basic Dim hdrv Dim Status Dim Err Dim dwret dwret = DioDmGetStatus(hDrv, Dir, Status, Err hdrv : DioOpen Dir : DIODM_DIR_IN : DIODM_DIR_OUT : Status : ( Err : dwret : ( : 0 : 0 ( / C DWORD Dir; DWORD Status; DWORD Err; Dir = DIODM_DIR_IN; dwret = DioDmGetStatus(hDrv, Dir, &Status, &Err; ErrChk(dwRet; /* API-PAC(W32RM/DIO 171
PIO-32DM(PCI Visual Basic Dim hdrv Dim Dir Dim Status Dim Err Dim dwret Dir = DIODM_DIR_IN dwret = DioDmGetStatus(hDrv, Dir, Status, Err ErrChk(dwRet ' 172 API-PAC(W32RM/DIO
PIO-32DM(PCI DioDmGetCount (C DWORD Dir; DWORD Count; DWORD Carry; dwret = DioDmGetCount(hDrv, Dir, &Count, &Carry; (Visual Basic Dim hdrv Dim Dir Dim Count Dim Carry Dim dwret dwret = DioDmGetCount(hDrv, Dir, Count, Carry hdrv : DioOpen Dir : DIODM_DIR_IN : DIODM_DIR_OUT : Count : Carry : dwret : ( : 0 : 0 ( Count Carry 64 Count Carry unsigned VisualBasic Long C DWORD Dir; DWORD Count; DWORD Carry; Dir = DIODM_DIR_IN; dwret = DioDmGetCount(hDrv, Dir, &Count, &Carry; ErrChk(dwRet; /* API-PAC(W32RM/DIO 173
PIO-32DM(PCI Visual Basic Dim hdrv Dim Dir Dim Count Dim Carry Dim dwret Dir = DIODM_DIR_IN dwret = DioDmGetCount(hDrv, Dir, Count, Carry ErrChk(dwRet ' 174 API-PAC(W32RM/DIO
PIO-32DM(PCI DioDmSetStopEvent (C DWORD Dir; HANDLE hwnd; DWORD dwmsg; dwret = DioDmSetStopEvent(hDrv, Dir, hwnd, dwmsg; (Visual Basic Dim hdrv Dim Dir Dim hwnd Dim dwmsg Dim dwret dwret = DioDmSetStopEvent(hDrv, Dir, hwnd, dwmsg hdrv : DioOpen Dir : DIODM_DIR_IN : DIODM_DIR_OUT : hwnd : dwmsg : ( 400h dwmsg 7FFFh 00Ch dwret : ( : 0 : 0 ( / VC VB MESSAGEECHO OCX API-PAC(W32RM/DIO 175
PIO-32DM(PCI 470H C DWORD Dir; HANDLE hwnd; DWORD dwmsg; Dir = DIODM_DIR_IN; dwmsg = 0x470; dwret = DioDmSetStopEvent(hDrv, Dir, hwnd, dwmsg; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim Dir Dim dwret Dir = DIODM_DIR_IN MsgEcho1.Message = &H470 dwret = DioDmSetStopEvent(hDrv, Dir, MsgEcho1.hWnd, MsgEcho1.Message ErrChk(dwRet ' 176 API-PAC(W32RM/DIO
PIO-32DM(PCI DioDmSetCountEvent (C DWORD Dir; DWORD Count; HANDLE hwnd; DWORD dwmsg; dwret = DioDmSetCountEvent(hDrv, Dir, Count, hwnd, dwmsg; (Visual Basic Dim hdrv Dim Dir Dim Count Dim hwnd Dim dwmsg Dim dwret dwret = DioDmSetCountEvent(hDrv, Dir, Count, hwnd, dwmsg hdrv : DioOpen Dir : DIODM_DIR_IN : DIODM_DIR_OUT : Count : : 1 Count 16777215(24Bit hwnd : dwmsg : ( 400h dwmsg 7FFFh 00Ch dwret : ( : 0 : 0 ( / VC VB MESSAGEECHO OCX Count API-PAC(W32RM/DIO 177
PIO-32DM(PCI 1000 470H C DWORD Dir; DWORD Count; HANDLE hwnd; DWORD dwmsg; Dir = DIODM_DIR_IN Count = 1000; dwmsg = 0x470 dwret = DioDmSetCountEvent(hDrv, Dir, Count, hwnd, dwmsg; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim Dir Dim Count Dim dwret Dir = DIODM_DIR_IN Count = 1000 MsgEcho1.Message = &H470 dwret = DioDmSetCountEvent(hDrv, Dir, MsgEcho1.hWnd, MsgEcho1.Message ErrChk(dwRet ' 178 API-PAC(W32RM/DIO
PIO-32DM(PCI DioDmInpDWord (C WORD wport; DWORD dwdata; dwret = DioDmInpDWord(hDrv, wport, &dwdata; (Visual Basic Dim hdrv Dim wport As Integer Dim dwdata Dim dwret dwret = DioDmInpDWord(hDrv, wport, dwdata hdrv : DioOpen wport : 0 ( dwdata : dwret : ( : 0 : 0 ( C DWORD dwdata; dwret = DioDmInpDWord(hDrv, 0, &dwdata; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim dwdata Dim dwret dwret = DioDmInpDWord(hDrv, 0, dwdata ErrChk(dwRet ' API-PAC(W32RM/DIO 179
PIO-32DM(PCI DioDmOutDWord (C WORD wport; DWORD dwdata; dwret = DioDmOutDWord(hDrv, wport, dwdata; (Visual Basic Dim hdrv Dim wport As Integer Dim dwdata Dim dwret dwret = DioDmOutDWord(hDrv, wport, dwdata hdrv : DioOpen wport : 0 ( dwdata : dwret : ( : 0 : 0 ( 12345678h C DWORD dwdata; dwdata = 0x12345678; dwret = DioDmOutDWord(hDrv, 0, dwdata; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim dwdata Dim dwret dwdata = &H12345678 dwret = DioDmOutDWord(hDrv, 0, dwdata ErrChk(dwRet ' 180 API-PAC(W32RM/DIO
PIO-32DM(PCI DioEvent (C WORD SigLog; WORD SigCh; HANDLE hwnd; WORD MsgNo; dwret = DioEvent(hDrv, SigLog, SigCh, hwnd, DMsgNo; (Visual Basic Dim hdrv Dim SigLog As Integer Dim SigCh As Integer Dim hwnd Dim MsgNo As Integer Dim dwret dwret = DioEvent(hDrv, SigLog, SigCh, hwnd, DMsgNo hdrv : DioOpen SigLog : 0 622h SigCh : "1" : 0 SigCh Fh 623h MSB LSB 0 0 0 0 DIOA03 DIOA02 DIOA01 DIOA00 hwnd : ( MsgNo : 400h MsgNo 7FFFh 00Ch dwret : ( : 0 : 0 ( DioEventEx API-PAC(W32RM/DIO 181
PIO-32DM(PCI C HANDLE hwnd; WORD DMsgNo; WORD SigLog; WORD SigCh; DMsgNo = 0x470; SigLog = 0; /* 0 SigCh = 0; /* dwret = DioEvent(hDrv, SigLog, SigCh, hwnd, DMsgNo; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim SigLog As Integer Dim SigCh As Integer Dim dwret MsgEcho1.Message = &H470 SigLog = 0 ' 0 SigCh = 0 ' dwret = DioEvent(hDrv, SigLog, SigCh, MsgEcho1.hWnd, MsgEcho1.Message ErrChk(dwRet ' 182 API-PAC(W32RM/DIO
PIO-32DM(PCI DioIntSence (C WORD IntSence; dwret = DioIntSence(hDrv, &IntSence; (Visual Basic Dim hdrv Dim IntSence As Integer Dim dwret dwret = DioIntSence(hDrv, IntSence hdrv : DioOpen IntSence : 0 1 MSB LSB 0 0 0 0 DIOA03 DIOA02 DIOA01 DIOA00 dwret : ( : 0 : 0 ( DioEvent 0 IntSence C dwret = DioIntSence(hDrv, &IntSence; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim dwret dwret = DioIntSence(hDrv, IntSence ErrChk(dwRet ' API-PAC(W32RM/DIO 183
PIO-32DM(PCI DioIntEnable ( (C WORD IntMask; dwret = DioIntEnable(hDrv, IntMask (Visual Basic Dim hdrv Dim IntMask As Integer Dim dwret dwret = DioIntEnable(hDrv, IntMask hdrv : DioOpen IntMask : / : 0 IntMask 1 0 1 624h dwret : ( : 0 : 0 ( DioEvent C WORD IntMask; IntMask = 1; dwret = DioIntEnable(hDrv, IntMask; ErrChk(dwRet; Visual Basic Dim hdrv Dim IntMask As Integer Dim dwret IntMask = 1 dwret = DioIntEnable(hDrv, IntMask ErrChk(dwRet /* / /* ' / ' 184 API-PAC(W32RM/DIO
PIO-32DM(PCI DioEventEx ( (C WORD SigLog; WORD SigCh; HANDLE hwnd; WORD MsgNo; dwret = DioEventEx(hDrv, SigLog, SigCh, hwnd, MsgNo; (Visual Basic Dim hdrv Dim SigLog As Integer Dim SigCh As Integer Dim hwnd Dim MsgNo As Integer Dim dwret dwret = DioEventEx(hDrv, SigLog, SigCh, hwnd, MsgNo hdrv : DioOpen SigLog : 0 SigCh : : 0 SigCh 3 0 : DIOA00 1 : DIOA01 2 : DIOA02 3 : DIOA03 623h hwnd : ( MsgNo : 400h DMsgNo 7FFFh 00Ch dwret : ( : 0 : 0 ( DioEvent API-PAC(W32RM/DIO 185
PIO-32DM(PCI 1 1 0 C HANDLE hwnd; WORD DMsgNo; WORD SigLog; WORD SigCh; DMsgNo = 0x470; SigLog = 0; /* 0 SigCh = 0; /* dwret = DioEventEx(hDrv, SigLog, SigCh, hwnd, DMsgNo; ErrChk(dwRet; /* DMsgNo = 0x471; SigLog = 0; /* 0 SigCh = 1; /* dwret = DioEventEx(hDrv, SigLog, SigCh, hwnd, DMsgNo; ErrChk(dwRet; /* Visual Basic Dim hdrv Dim SigLog As Integer Dim SigCh As Integer Dim dwret MsgEcho1.Message = &H470 SigLog = 0 ' 0 SigCh = 0 ' dwret = DioEventEx(hDrv, SigLog, SigCh, MsgEcho1.hWnd, sgecho1.message ErrChk(dwRet ' MsgEcho2.Message = &H471 SigLog = 0 ' 0 SigCh = 1 ' dwret = DioEventEx(hDrv, SigLog, SigCh, MsgEcho2.hWnd, MsgEcho2.Message ErrChk(dwRet ' 186 API-PAC(W32RM/DIO
PIO-32DM(PCI DioIntEnableEx ( ( (C WORD SigCh; WORD IntMask; dwret = DioIntEnableEx(hDrv, SigCh, IntMask (Visual Basic Dim hdrv Dim SigCh As Integer Dim IntMask As Integer Dim dwret dwret = DioIntEnableEx(hDrv, SigCh, IntMask hdrv : DioOpen SigCh : DioEventEx IntMask : / : 0 IntMask 1 0 1 624h dwret : ( : 0 : 0 ( DioEventEx DioEvent API-PAC(W32RM/DIO 187
PIO-32DM(PCI C WORD SigCh; WORD IntMask; SigCh = 0; /* IntMask = 1; /* / dwret = DioIntEnableEx(hDrv, SigCh, IntMask; ErrChk(dwRet; /* Visual Basic Dim hdrv } Dim SigCh As Integer Dim IntMask As Integer Dim dwret SigCh = 0 ' IntMask = 1 ' / dwret = DioIntEnableEx(hDrv, SigCh, IntMask ErrChk(dwRet ' 188 API-PAC(W32RM/DIO
PIO-32DM(PCI API-PAC(W32RM/DIO 189 ( 1 DIODM_WRITE_ONCE DIODM_STOP_NUM DioDmSetStopNum DIODM_STATUS_BMSTOP Sleep Win32API 1 DIODM_WRITE_ONCE DIODM_STOP_NUM DioDmSetStopNum (DioDmGetCount Sleep Win32API
PIO-32DM(PCI 190 API-PAC(W32RM/DIO / 0 API 32 0 ( = 32 32 2 0001111111 16 0x03ff (32 ( = 0x03ff 0x03ff 0 0x03ff
PIO-32DM(PCI (DioDmGetStatus 3.3 DIODM_STATUS_BMSTOP DIODM_STATUS_PIOSTART DIODM_STATUS_PIOSTOP DIODM_STATUS_TRGIN DIODM_STATUS_OVERRUN 00000001h / 00000002h / PIO 00000004h / PIO 00000008h / 00000010h / (DioDmGetStatus 3.4 FIFO DIODM_STATUS_FIFOEMPTY 00000001h DIODM_STATUS_FIFOFULL 00000002h FIFO DIODM_STATUS_SGOVERIN 00000004h DIODM_STATUS_TRGERR 00000008h / DIODM_STATUS_CLKERR 00000010h / API-PAC(W32RM/DIO 191
PIO-32DM(PCI (PIO-32DM(PCI "0" 2 650h 651h 652h 653h 654h 655h 656h PIO-32DM(PCI DioDmXX Windows 2000/NT 192 API-PAC(W32RM/DIO
PIO-32DM(PCI (SC (SC ( I/O I/O EXTSIG1 EXTSIG3 EXTSIG1 EXTSIG3 DioDmSetSetMasterCfg EXTSIG1 EXTSIG3 CN2,CN3 API-PAC(W32RM/DIO 193
PIO-32DM(PCI 194 API-PAC(W32RM/DIO
8225 0 1 2 LSIi8255 BCD(Binary Coded Decimal 2 10 4 16 1 10 CompactPCI ErrChk(dwRet; ErrChk(dwRet PI-64L(CPCI, PO-64L(CPCI, PIO-32/32L(CPCI ErrChk (DWORD dwret { } if (dwret == 0 { } else { } Sub ErrChk (dwret End Sub If dwret = 0 Then Else End If /* /* ' ' API-PAC(W32RM/DIO 195
196 API-PAC(W32RM/DIO E ( (JP2 (JP2 1-2 (JP2 2-3 PIO-32D(PM PIO-16/16L(PM <ISA > PI-64L(PC PI-64T(PC PO-64L(PC PO-64T(PC PIO-32/32L(PC PIO-32/32RL(PC PIO-32/32T(PC <98(C > PI-32(98E PI-32(98E-F PI-32T(98E PI-64(98E PI-64(98E-F PI-64T(98E PO-32(98E PO-32(98E-F PO-32T(98E PO-64(98E PO-64(98E-F PO-64T(98E PIO-16/16(98E PIO-16/16(98E-F PIO-16/16B(98E PIO-16/16TB(98E PIO-16/16T(98E PIO-32/32(98E PIO-32/32(98E-F PIO-32/32B(98E PIO-32/32TB(98E PIO-32/32T(98E PIO-32/32R(98E <PC > PIO-32D(PM PIO-16/16L(PM E ( (JP2 (JP2 2-3 <ISA > PI-64L(PC PI-64T(PC PO-64L(PC PO-64T(PC PIO-32/32L(PC PIO-32/32RL(PC PIO-32/32L(PC <98(C > PI-32(98E PI-32(98E-F PI-32T(98E PI-64(98E PI-64(98E-F PI-64T(98E PO-32(98E PO-32(98E-F PO-32E-F PO-32T(98E PO-64(98E PO-64(98E-F PO-64T(98E PIO-16/16(98E PIO-16/16(98E-F PIO-16/16B(98E PIO-16/16TB(98E PIO-16/16T(98E PIO-32/32(98E PIO-32/32(98E-F PIO-32/32B(98E PIO-32/32TB(98E PIO-32/32T(98E PIO-32/32R(98E LSP(Least Significant Port
API-PAC(W32RM/DIO 197 PCI PIO-32/32L(PCIH PI-64L(PCIH PO-64L(PCIH PIO-16/16L(PCIH PI-32L(PCIH PO-32L(PCIH PIO-16/16B(PCIH PI-32B(PCIH PO-32B(PCIH PIO-16/16RY(PCI PI-64L(PCI PO-64L(PCI PI-32L(PCI PI-32B(PCI PO-32L(PCI PO-32B(PCI PIO-16/16L(PCI PIO-16/16B(PCI PIO-16/16T(PCI PIO-16/16TB(PCI PIO-32/32B(PCI PIO-32/32B(PCIH PIO-32/32L(PCI PIO-32/32T(PCI PIO-32/32F(PCI RRY-16C(PCI RRY-32(PCI PIO-48D(PCI PIO-32DM(PCI PI-128L(PCI PO-128L(PCI PIO-64/64L(PCI PIO-16/16L(LPCIH PIO-16/16B(LPCIH PIO-16/16T(LPCIH E PCI CompactPCI E (JP2 (JP2 1-2 (DioSFilter CompactPCI PIO-32/32L(CPCI PI-64L(CPCI PO-64L(CPCI PCI PIO-32/32L(PCIH PI-64L(PCIH PIO-16/16L(PCIH PI-128L(PCI PIO-64/64L(PCI PI-32L(PCIH PIO-16/16B(PCIH PI-32B(PCIH PIO-16/16RY(PCI PIO-16/16L(PCI PIO-16/16B(PCI PIO-16/16T(PCI PIO-16/16TB(PCI PIO-32/32B(PCI PIO-32/32B(PCIH PIO-32/32L(PCI PIO-32/32T(PCI PIO-32/32F(PCI PI-64L(PCI PI-32L(PCI PI-32B(PCI PIO-16/16L(LPCIH PIO-16/16B(LPCIH PIO-16/16T(LPCIH E PI-64L(PC PI-64T(PC PO-64L(PC PO-64T(PC PIO-32/32L(PC PIO-32/32RL(PC PIO-32/32T(PC PI-32(98E PI-32(98E-F PI-32T(98E PI-64(98E PI-64(98E-F PI-64T(98E PO-32(98E PO-32(98E-F PO-32T(98E PO-64(98E PO-64(98E-F PO-64T(98E PIO-16/16(98E PIO-16/16(98E-F PIO-16/16B(98E PIO-16/16TB(98E PIO-16/16T(98E PIO-32/32(98E PIO-32/32(98E-F PIO-32/32B(98E PIO-32/32TB(98E PIO-32/32T(98E PIO-32/32R(98E
198 API-PAC(W32RM/DIO PIO-32DM(PCI PIO-32DM(PCI PIO-32DM(PCI API-TOOL (I/O 1 4 1 16 API-TOOL API-TOOL / 1 1 ( I/O 0 n
Timcode = 0 ISA C PIO-32/32L(PCIH PI-64L(PCIH PIO-16/16L(PCIH PI-32L(PCIH PIO-16/16RY(PCIH PIO-32D(PM PIO-16/16L(PM PI-128L(PCI PIO-64/64L(PCI TimCode TimCode 1 0.25 [ s] 11 256 [ s] 2 0.50 [ s] 12 512 [ s] 3 1.0 [ s] 13 1.024 [ms] 4 2.0 [ s] 14 2.048 [ms] 5 4.0 [ s] 15 4.096 [ms] 6 8.0 [ s] 16 8.192 [ms] 7 16 [ s] 17 16.384 [ms] 6 32 [ s] 18 32.768 [ms] 9 64 [ s] 19 65.536 [ms] 10 128 [ s] 20 131.072 [ms] PCI (PIO-48D(PCI PIO-32/32L(PCIH PI-64L(PCIH PIO- 16/16L(PCIH PI-32L(PCIH PIO-16/16RY(PCIH PI-128L(PCI PIO-64/64L(PCI TimCode TimCode 1 0.125 [ s] 11 128 [ s] 2 0.25 [ s] 12 256 [ s] 3 0.50 [ s] 13 512 [ s] 4 1.0 [ s] 14 1.024 [ms] 5 2.0 [ s] 15 2.048 [ms] 6 4.0 [ s] 16 4.096 [ms] 7 8.0 [ s] 17 8.192 [ms] 6 16 [ s] 18 16.384 [ms] 9 32 [ s] 19 32.768 [ms] 10 64 [ s] 20 65.536 [ms] / (SC API-PAC(W32RM/DIO 199
LSI(i8255 Low/High Low = 0, High = 1 ( 1 : 1 PIO-48W(PC 0 1 (Low = 0, High = 1 2 PIO-96W(PC 2 5 2 : 1 PIO-48W(PC 0 1 (Low = 0, High = 1 2 PIO-48W(PC 2 3 API-TOOL DioOpenEx PCI CompactPCI E 0 ApiDio00.*** E ( 1 ApiDio01.*** 2 ApiDio02.*** PCI CompactPCI 3 ApiDio03.*** E ( 4 ApiDio04.*** 5 ApiDio05.*** *** : Windows 95 VXD Windows NT SYS 200 API-PAC(W32RM/DIO
Level Trigger High : 0 Low : 1 Edge Trigger Up : 2 Down : 3 PIO-32DM(PCI <ISA > PI-32L(PCH PI-32L(PCV PI-32B(PC PI-32B(PCH PI-32TB(PC PI-32T(PCH PI-32RL(PC PO-32L(PCH PO-32L(PCV PO-32B(PC PO-32B(PCH PO-32TB(PC PO-32T(PCH PO-32RL(PC PIO-16/16L(PCH PIO-16/16L(PCV PIO-16/16B(PC PIO-16/16B(PCH PIO-16/16TB(PC PIO-16/16T(PCH PIO-16/16RL(PC RRY-32(PC PRY-32(PC <98(C > PI-32(98H PI-32B(98 PI-32T(98 PI-48(98 PI-48B(98 PI-48T(98 PI-96T(98K PO-32(98H PO-32B(98 PO-32T(98 PO-48(98 PO-48B(98 PO-48T(98 PO-96T(98K RRY-16(98 WRY-16(98 SSR-16(98 RRY-32(98 PRY-32(98 PIO-16/16(98H PIO-16/16B(98 PIO-16/16T(98 PIO-24/24(98 PIO-24/24A(98 PIO-24/24B(98 PIO-24/24TB(98 PIO-24/24T(98 PIO-48/48T(98K ACI/DCI-8(98 ACO/DCO-8(98 API-PAC(W32RM/DIO 201
202 API-PAC(W32RM/DIO PCI DMA CPU PIO- 32DM(PCI CPU PIO-32DM(PCI <PCI > PIO-48D(PCI <PC > PIO-24W(PM <ISA > PIO-48W(PC PIO-48D(PC PIO-48C(PC PIO-96W(PC PIO-144W(PC, PIO-120D(PC, <98(C > PIO-48W(98 PIO-48W(98B-01 PIO-48W(98B-02 PIO-96W(98K (SC ( DioOpen DioClose
0 0 ( 0, 2, 3 1 : 1 PIO-32/32L(PC 0 31 0 31 0 31 2 PI-64L(PC 0 63 32 95 -------- 3 PO-64L(PC 0 63 -------- 32 95 2 : 1 PIO-32/32L(PC 0 31 0 31 0 31 2 PIO-32/32L(PC 0 31 32 63 32 63 ABC 0 1 1 : 1 PIO-48W(PC 0 1 2 PIO-48W(PC 2 3 0 : A, B, C 1 : A, B, C 2 : A, B, C 3 : A, B, C 0 0 7 (A 8 15 (B, 16 23 (C 1 32 39 (B, 40 47 (C 24 31 (A 2 48 55 (A 56 63 (B, 64 71 (C 3 80 87 (B, 88 95 (C 72 79 (A API-PAC(W32RM/DIO 203
2 : 1 PIO-48W(PC 0 1 2 PIO-48W(PC 0 3 0 : A, B, C 1 : A, B, C 2 : A, B, C 3 : A, B, C 0 8 15 (B, 16 23 (C 0 7 (A 1 24 31 (A 32 39 (B, 40 47 (C 2 56 63 (B, 64 71 (C 48 55 (A 3 72 79 (A 80 87 (B, 88 95 (C 0 0 ( 0, 2, 3 1 : 1 PIO-16/16L(PCH 0 1 0 1 0 1 2 PI-32L(PCH 0 3 2 5 ------ 3 PO-32L(PCH 0 3 ------ 2 5 2 : 1 PIO-16/16L(PCH 0 1 0 1 0 1 2 PIO-16/16L(PCH 0 1 2 3 2 3 ABC 0 1 204 API-PAC(W32RM/DIO
1 : 1 PIO-48W(PC 0 1 2 PIO-48W(PC 2 3 0 : A, B, C 1 : A, B, C 2 : A, B, C 3 : A, B, C 0 0 (A 1 (B, 2 (C 1 4 (B, 5 (C 3 (A 2 6 (A 7 (B, 8 (C 3 10 (B, 11 (C 9 (A 2 : 1 PIO-48W(PC 0 1 2 PIO-48W(PC 0 3 0 : A, B, C 1 : A, B, C 2 : A, B, C 3 : A, B, C 0 1 (B, 2 (C 0 (A 1 3 (A 4 (B, 5 (C 2 7 (B, 8 (C 6 (A 3 9 (A 10 (B, 11 (C 4 1 4 IRQ 3 7, 9 12, 14, 15 API-PAC(W32RM/DIO 205
3-9-31 555-0025 http://www.contec.co.jp/ http://www.contec.com/ http://www.contec.com.cn/ API-PAC(W32RM/DIO 2003 10 [06051998] A-41-922 [10232003_rev11] LZF8311