請先看『使用說明』
IO Device:F75113 under Windows(32bit & 64bit)
From LEXWiKi
(Difference between revisions)
(New page: Category:AllowPages *COMMUNICATION *M303 USB to serial *M387 *GPS module *[[Module:m878a mo...) |
|||
(3 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
[[Category:AllowPages]] | [[Category:AllowPages]] | ||
- | + | == The Sample code source you can download from == | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
+ | Source file: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/F75113/Window_VS2010/F75113v2.0_src.rar F75113v2.0_src.rar] | ||
- | + | Binary file: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/F75113/Window_VS2010/F75113v2.0_bin_x86.rar F75113v2.0_bin_x86.rar] | |
- | + | ||
+ | Binary file: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/F75113/Window_VS2010/F75113v2.0_bin_x64.rar F75113v2.0_bin_x64.rar] | ||
- | + | We do the demo test with a test tool which DIx connect to DOx with Relay. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
+ | == How to use this Demo Application == | ||
- | + | [[Image:F75113picter.jpg]] | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
+ | 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 | |
- | + | ||
- | + | ||
- | + | ||
+ | 5. WDT is not run because MB not have F75113 and WDT_RST- | ||
- | *LCM Module | ||
- | <!-- *[[Module:LCM_KeyPad Module|LCM_KeyPad Module]] --> | ||
- | **[[LCM Module:LCM_KeyPad under Windows|LCM_KeyPad under Windows]] | ||
- | **[[LCM Module:LCM_KeyPad under Linux|LCM_KeyPad under Linux]] | ||
+ | If the next picture appears | ||
- | + | [[Image:t3.jpg]] | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
+ | MB no LPC or the drive placement is wrong | ||
- | + | Drive the location for the next picture | |
- | + | ||
- | + | ||
+ | [[Image:F75113v2.0folder.jpg]] | ||
+ | == F75113 GPIO Picture == | ||
- | + | [[Image:t5.jpg]] | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
+ | == 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); | |
- | + | } | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + |
Current revision
Contents |
The Sample code source you can download from
Source file: F75113v2.0_src.rar
Binary file: F75113v2.0_bin_x86.rar
Binary file: F75113v2.0_bin_x64.rar
We do the demo test with a test tool which DIx connect to DOx with Relay.
How to use this Demo Application
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
5. WDT is not run because MB not have F75113 and WDT_RST-
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); }