SSPC-Tester/Docs/PCIe8586驱动接入资料/Samples/LabWindows/PhysicalID/Sys.c

74 lines
1.3 KiB
C
Raw Normal View History

//#include <ansi_c.h>
#include "windows.h"
#include <ACTS1000.H>
#include <stdio.h>
static int (__stdcall *getch)(void);
static int (__stdcall *kbhit)(void);
int main (int argc, char *argv[])
{
HANDLE hDevice;
LONG DevID, LinkType;
LONG DeviceLgcID, DevicePhysID;
HINSTANCE hInst = LoadLibrary("MSVCRT.DLL");
getch = GetProcAddress(hInst, "_getch");
kbhit = GetProcAddress(hInst, "_kbhit");
DeviceLgcID = 0;
SlectLT:
printf("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ:0:<3A>߼<EFBFBD> 1:<3A><><EFBFBD><EFBFBD> ");
scanf("%d", &LinkType);
if (LinkType<0 || LinkType>1)
{
goto SlectLT;
}
SlectID:
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID:");
scanf("%d", &DevID);
if (DevID <0)
{
goto SlectID;
}
switch (LinkType)
{
case 0:
hDevice = ACTS1000_CreateDevice(DevID); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
break;
case 1:
hDevice = ACTS1000_CreateDeviceEx(DevID); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
break;
}
if(hDevice == INVALID_HANDLE_VALUE)
{
printf("ACTS1000_CreateDevice fail");
getch();
return 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><DCA3>򷵻<EFBFBD>
}
ACTS1000_GetDeviceCurrentID(hDevice, &DeviceLgcID, &DevicePhysID);
printf("<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>߼<EFBFBD>ID:%d <20><><EFBFBD><EFBFBD>ID:%d\n", DeviceLgcID, DevicePhysID);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID:");
scanf("%d", &DevicePhysID);
ACTS1000_SetDevicePhysID(hDevice, DevicePhysID);
ACTS1000_ReleaseDevice(hDevice); // <20>ͷ<EFBFBD><CDB7><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
return 0;
}