請先看『使用說明』
IO Device:F75113 LPC 16IO under Windows(64bit)
From LEXWiKi
Contents |
The Sample code source you can download from
<Google Drive>
Source file: F75113_16IOv1.0.0W_Src
Binary file: F75113_16IOv1.0.0W_Bin
<FTP>
Source file: F75113_16IOv1.0.0W_Src
Binary file: F75113_16IOv1.0.0W_Bin
We do the demo test with a test tool which DIx connect to DOx with Relay.
MB Support List
SKylake/Kab |
3I610CW
|
---|---|
Card |
M113A |
How to use this Demo Application
1. Press the "Start" button to test 16IO test function, DO is Wafer1 and Wafer2(Default) or check "Revrse" change to DO is Wafer3 and Wafer4
2. Press the "Enable" button to test WDT function, if you enter 10 seconds prompt string will countdown 10 seconds after the reboot
If checked the Enable Loop WDT receives an interrupt signal after the countdown and repeats the countdown
If the next picture appears
MB no LPC or the drive placement is wrong
Drive the location for the next picture
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_LPC_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_LPC_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_LPC_W"); if (NULL != ProcAdd) { if (! (*ProcAdd)( strtol(N9, &endptr, 16), strtol(V9, &endptr, 16))) { ShowMessage("Write Fail"); } } if (hinstLib != NULL) { FreeLibrary(hinstLib); }