請先看『使用說明』
IO Device:F75113 SMbus under Linux(64bit)
From LEXWiKi
Contents |
The Sample code source you can download from
Source file: Linux_F75113_SMBUSv1.0.1L_src.tar.gz
Binary file for x64: Linux_F75113_SMBUSv1.0.1L_bin.tar.gz
We do the demo test with a test tool which DIx connect to DOx with Relay.
How to use this Demo Application
Before you use this
please enter F75113set.sh and read the Readme.txt enter command
after all you can open the program
1. Press the "Test" button to test CIO1 function
2. Press the "C2test" button to test CIO2 function
3. Press the "C3test" button to test CIO3 function
4. Press the "C4test" button to test CIO4 function
F75113 GPIO Picture
Introduction
F75113 driver connection
hinstLib = LoadLibrary(L"Fintek.dll"); if (hinstLib == NULL) { if(Application->MessageBoxW(L"Load fail Fintek.dll,Continued?",L"Error",16+4)==IDNO) { Application->Terminate(); } return; }
GPIO Status Register Write
SETINT2PROC ProcAdd; char *endptr; char Numbers[] = "0x20"; char Value[] = "0xF0"; ProcAdd = (SETINT2PROC) GetProcAddress(hinstLib, "GPIO_SMBus_W"); if (NULL != ProcAdd) { if (! (*ProcAdd)( strtol(Numbers, &endptr, 16), strtol(Value, &endptr, 16))) { ShowMessage("Write Fail"); } }
GPIO Status Register Read
GETINT2PROC ProcAdd1; int datatest; char NRtest[] = "0x22"; ProcAdd1 = (GETINT2PROC) GetProcAddress(hinstLib, "GPIO_SMBus_R"); if (NULL != ProcAdd1) { if (! (*ProcAdd1)( strtol(NRtest, &endptr, 16), &datatest)) { ShowMessage("Read Fail"); } }
GPIO Comparison
if( data == 0xF0 ) { ((CStatic *)GetDlgItem(IDC_LED_DO0))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Green))); ((CStatic *)GetDlgItem(IDC_LED_DO1))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Green))); ((CStatic *)GetDlgItem(IDC_LED_DO2))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Green))); ((CStatic *)GetDlgItem(IDC_LED_DO3))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Green))); if( data2 == 0x01 ) { ((CStatic *)GetDlgItem(IDC_LED_DI0))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Green))); ((CStatic *)GetDlgItem(IDC_LED_DI1))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Red))); ((CStatic *)GetDlgItem(IDC_LED_DI2))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Red))); ((CStatic *)GetDlgItem(IDC_LED_DI4))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Red))); } ..... }
F75113 driver delete
char N9[] = "0x10"; char V9[] = "0x00"; ProcAdd = (SETINT2PROC) GetProcAddress(hinstLib, "GPIO_SMBus_W"); if (NULL != ProcAdd) { if (! (*ProcAdd)( strtol(N9, &endptr, 16), strtol(V9, &endptr, 16))) { ShowMessage("Write Fail"); } } if (hinstLib != NULL) { FreeLibrary(hinstLib); }