請先看『使用說明』
IO Device:F75113 SMbus 16IO under Windows(64bit)
From LEXWiKi
(Difference between revisions)
(→The Sample code source you can download from) |
(→The Sample code source you can download from) |
||
(2 intermediate revisions not shown.) | |||
Line 2: | Line 2: | ||
== The Sample code source you can download from == | == The Sample code source you can download from == | ||
- | + | <Google Drive> | |
- | + | Source file: [https://drive.google.com/file/d/1Knk0y6Yg7MZOhHqDnRwDwwL4f-n9NKU1/view?usp=sharing F75113_16IOv1.0.0W_SMbus_Src] | |
- | + | Binary file: [https://drive.google.com/file/d/1GV02Hthxb6CVLjcCV6GlLBHGjTrA-woF/view?usp=sharing F75113_16IOv1.0.0W_SMbus_Bin] | |
+ | |||
+ | <FTP> | ||
+ | |||
+ | Source file: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/F75113/Windows/M113A_SMBUS/F75113_16IOv1.0.0W_SMbus_src.zip F75113_16IOv1.0.0W_SMbus_Src] | ||
+ | |||
+ | Binary file: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/F75113/Windows/M113A_SMBUS/F75113_16IOv1.0.0W_SMbus_bin.zip F75113_16IOv1.0.0W_SMbus_Bin] | ||
We do the demo test with a test tool which DIx connect to DOx with Relay. | We do the demo test with a test tool which DIx connect to DOx with Relay. |
Current revision
Contents |
The Sample code source you can download from
<Google Drive>
Source file: F75113_16IOv1.0.0W_SMbus_Src
Binary file: F75113_16IOv1.0.0W_SMbus_Bin
<FTP>
Source file: F75113_16IOv1.0.0W_SMbus_Src
Binary file: F75113_16IOv1.0.0W_SMbus_Bin
We do the demo test with a test tool which DIx connect to DOx with Relay.
MB Support List
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_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); }