让您的CPCI难题迎刃而解! 没有CPCI专家 当初征询 (让您的孩子赢在起跑线)

研华组态

宣布于:2006-02-1117:00:004楼CPCI配件引见的文章很多,只需搜查compactPCI就能找到,但热插拔编程的资料不多。上方这个例子可以成功CPCI的热插拔性能。/HsInfo.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include"conio.h"#include"stdio.h"#include"..\..\include\ahsm.h"#defineESC0x1bvoidGetErrorStatus(ULONGretValue){switch(retValue){caseInvalidDeviceHandle:printf("Invaliddevicehandle!\n");break;caseKeInvalidHandleValue:printf("Invalidhandlevaluetokerneldriver!\n");break;caseKeFileNotFound:printf("Nosuchdevice!\n");break;caseKeInvalidParameter:printf("Invalidparametertokerneldriver!\n");break;caseInvalidInputParam:printf("Invalidparametertodlldriver!\n");break;default:printf("Systemerrorcode=%x\n",retValue);}}intmain(intargc,char*argv[]){HANDLEhsHandle;USHORTusHsStatus,usSlotNumber=0;ULONGretValue;BOOLEANbEnum,bLED=0;charkey;retValue=HSM_DeviceOpen(&hsHandle);if(retValue){GetErrorStatus(retValue);return0;}printf("Inputslotnumber:");scanf("%d",&usSlotNumber);printf("\n");printf("AdvantechHotSwapTesting\n");printf("------------------------------------------------\n");printf("Presskey:\n");printf("\t<1>SetLEDon.\n");printf("\t<2>SetLEDoff.\n");printf("\t<3>Requestdeviceextraction.\n");printf("\t<ESC>Exit.\n");printf("\n");while(key!=ESC){retValue=0;key=0;if(kbhit())key=getch();switch(key){case'1':retValue=HSM_SetLED(hsHandle,//IN,handlefromHSM_DeviceOpenusSlotNumber,//IN,slotnumberTRUE);//IN,setLEDONbreak;case'2':retValue=HSM_SetLED(hsHandle,usSlotNumber,FALSE);break;case'3':retValue=HSM_RequestExtraction(hsHandle,//IN,handlefromHSM_DeviceOpenusSlotNumber);//IN,slotnumberbreak;}//Iferror,showmessageif(retValue)GetErrorStatus(retValue);//GethotswapstatusoftheslotretValue=HSM_GetHsStatus(hsHandle,//IN,handlefromHSM_DeviceOpenusSlotNumber,//IN,slotnumber&usHsStatus//OUT,hotswapstatus);if(retValue)GetErrorStatus(retValue);//GetenumstatusretValue=HSM_GetEnumStatus(hsHandle,//IN,handlefromHSM_DeviceOpen&bEnum);//OUT,enumstatusif(retValue)GetErrorStatus(retValue);//GetLEDstatusretValue=HSM_GetLED(hsHandle,//IN,handlefromHSM_DeviceOpenusSlotNumber,//IN,slotnumber&bLED);printf("HotSwapStatus=%xEnum=%dLED=%d\r",usHsStatus,bEnum,bLED);Sleep(100);}HSM_DeviceClose(hsHandle);return0;} 回复 援用 投诉

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论