請先看『使用說明』
GPIO Develop Utility under Windows
From LEXWiKi
Contents |
Introduction
GPIO Develop Utility can help you to develop tool to control GPIO device.
The binary file you can download from
<Google Drive>
DLL file(64 bit): PW601Dll_v1.0.10.7_x64
Sample file(64 bit): PW601Dll_v1.0.10.7_x64
Sample code: UsePW601Dll(v1.0.10.7)_SampleCode
DLL files descreption
GPIOUtilityDll.dll: Contains code and data about GPIODLL function.
GPIOUtilityDll.h: Header about GPIODLL function.
GPIOUtilityDll.lib: Import library that link to GPIOUtilityDll.dll.
LexIo64.dll、LexIo64.sys: Based on WinIO that provids DLL to read hardware data. For x64.
Support GPIO module
F75111(Onboard)、F75111 EXT(CIO series)、F75113 SMBUS、F75113 LPC、F81966 LPC.
How to use DLL
*Step1. Unzip DLL zip file and put files to your programe.
*Step2. Initialize GPIO module resource.
MODULE_GPIO_LIST_E defined in GPIOUtilityDll.h
enum MODULE_GPIO_LIST_E { /* GPIO */ MODULE_GPIO_F75111 = 0, MODULE_GPIO_F75111_EXT, MODULE_GPIO_F75113, MODULE_GPIO_F75113_LPC, MODULE_GPIO_F81966_LPC, };
//------------------------------------------------------------------------------ // Name : GPIODLL_InstallControlModule // Description : Initial DLL supported GPIO device module. // Arguments : // nModule [in] : GPIO device module. Enum of MODULE_GPIO_LIST_E. // Return : // TRUE : Success // FALSE : Failed //------------------------------------------------------------------------------ GPIOUTILITYDLL_API int GPIODLL_InstallControlModule(int nModule);
*Step3. If you want control GPIO pin, setup DI pin and DO pin in CIO port.
GPIO_CIO_PORT_E defined in GPIOUtilityDll.h
Setup DI pin and DO pin. Use 1 byte to indicate the status of the Pins.
Digital output pin bit is 1; Digital input pin bit is 0.
(DI-0 is bit0, DI-1 is bit1, DI-2 is bit2 and DI-3 is bit3).
(DO-0 is bit4, DO-1 is bit5, DO-3 is bit6 and DO-3 is bit7).
Ex: Setup CIO is 4I/4O. bDIOBits = 0xF0 (1111 0000) => (OOOO IIII).
Ex: Setup CIO is 2I/2O. bDIOBits = 0x30 (0011 0000) => (OOII IIII).
enum GPIO_CIO_PORT_E { GPIO_CIO_1 = 1, GPIO_CIO_2, GPIO_CIO_3, GPIO_CIO_4, };
//-------------------------------------------------------------------------- // Name : GPIODLL_AddControlModuleToWatchList // Description : Add GPIO device module to watch dog list. // Arguments : // nModule [in] : GPIO device module. Enum of MODULE_GPIO_LIST_E. // nSwPort [in] : SW Port // bDIOBits [in] : DI/DO bits. (Output bit is 1; Input bit is 0) // nFilterDO [in] : Filter DO signal from GPIO module (default: TRUE) // Return : // TRUE : Success // FALSE : Failed //-------------------------------------------------------------------------- GPIOUTILITYDLL_API int GPIODLL_AddControlModuleToWatchList(int nModule, int nSwPort, BYTE bDIOBits, int nFilterDO = TRUE);
*Step4. If you want Send DO signal once. Use 1 byte to indicate the digital output pins to be triggered.
Digital output pin bit is 1; Digital input pin bit is 0.
(DO-0 is bit4, DO-1 is bit5, DO-3 is bit6 and DO-3 is bit7).
Ex: Send CIO DO-0、DO-1、DO-2、DO-3 DO signal. bDOVal = 0xF0 (1111 0000) => (OOOO xxxx).
Ex: Send CIO DO-0、DO-3 DO signal. bDOVal = 0x90 (1001 0000) => (OxxO xxxx).
//-------------------------------------------------------------------------- // Name : GPIODLL_SendDOValueToControlModule // Description : Send digital out value to GPIO device module // Arguments : // nModule [in] : GPIO device module. Enum of MODULE_GPIO_LIST_E. // nSwPort [in] : SW Port // bDOVal [in] : Digital out value // Return : // TRUE : Success // FALSE : Failed //-------------------------------------------------------------------------- GPIOUTILITYDLL_API int GPIODLL_SendDOValueToControlModule(int nModule, int nSwPort, BYTE bDOVal);
*Final Step. Release PW601 resource before leaving application.