⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 canpci9820.c

📁 这是一个PCI9820CAN通信卡通信控制程序
💻 C
字号:
#include <cvirte.h>		
#include <userint.h>
#include <stdio.h> 
#include "CANPCI9820.h"
#include "ControlCAN.h"

#define PCI9820type 5  

int err,mainpanel,openpanel,initpanel;
int can0amr,can0acr,can1amr,can1acr;    

char can0timer0,can0timer1,can1timer0,can1timer1; 
int DeviceType=PCI9820type,DeviceIndex,Reserved=0;
int openflag=0;

int main (int argc, char *argv[])
{
	if (InitCVIRTE (0, argv, 0) == 0)
		return -1;	/* out of memory */
	if ((mainpanel = LoadPanel (0, "CANPCI9820.uir", MAINPANEL)) < 0)
		return -1;
	DisplayPanel (mainpanel);
	RunUserInterface ();
	DiscardPanel (mainpanel);
	return 0;
}

int CVICALLBACK CHANNLSTARTCALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:
			 
			break;
		}
	return 0;
}

int CVICALLBACK CHANNLRESETCALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:

			break;
		}
	return 0;
}

int CVICALLBACK TRANKINDCALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:

			break;
		}
	return 0;
}

int CVICALLBACK FRAMEKIND1CALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:

			break;
		}
	return 0;
}


int CVICALLBACK FRAMEKIND2CALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:

			break;
		}
	return 0;
}

int CVICALLBACK TRANCALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:

			break;
		}
	return 0;
}

int CVICALLBACK STARTREVCALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:

			break;
		}
	return 0;
}

int CVICALLBACK STOPREVCALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:

			break;
		}
	return 0;
}

int CVICALLBACK OPENcardCALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:
			 GetCtrlVal (openpanel, OPENPANEL_DEVICEINDEX, &DeviceIndex);  
		
			 openflag = VCI_OpenDevice(DeviceType,DeviceIndex,Reserved);
			 if(openflag==1){MessagePopup ("", "打开成功!");  }
			 else{MessagePopup ("", "打开失败!");  }
			break;
		}
	return 0;
}
int CVICALLBACK OPENEXITCALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:
			 if(openflag==1)
			 {
			 	initpanel = LoadPanel (mainpanel, "CANPCI9820.uir", INITPANEL);
				DisplayPanel (initpanel);
			 }
			 DiscardPanel (openpanel);  
			break;
		}
	return 0;
}

int CVICALLBACK init0CALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	int CANInd;
	switch (event)
		{
		case EVENT_COMMIT:
			 GetCtrlVal (initpanel, INITPANEL_CAN0AMR, &can0amr);
			 GetCtrlVal (initpanel, INITPANEL_CAN0ACR, &can0acr);
			 GetCtrlVal (initpanel, INITPANEL_CAN0TIMER0, &can0timer0);
			 GetCtrlVal (initpanel, INITPANEL_CAN0TIMER1, &can0timer1);
			 
			 CANInd=0;
	//		 err=VCI_InitCAN(DeviceType, DeviceIndex, CANInd, PVCI_INIT_CONFIG pInitConfig);
			break;
		}
	return 0;
}

int CVICALLBACK init1CALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:
			 GetCtrlVal (initpanel, INITPANEL_CAN1AMR, &can1amr);
			 GetCtrlVal (initpanel, INITPANEL_CAN1ACR, &can1acr);
			 GetCtrlVal (initpanel, INITPANEL_CAN1TIMER0, &can1timer0);
			 GetCtrlVal (initpanel, INITPANEL_CAN1TIMER1, &can1timer1);
			 
			 
			 
			break;
		}
	return 0;
}

int CVICALLBACK INITEXITCALL (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:
			 DiscardPanel (initpanel);
			break;
		}
	return 0;
}

void CVICALLBACK OPENCALL (int menuBar, int menuItem, void *callbackData,
		int panel)
{
	openpanel = LoadPanel (mainpanel, "CANPCI9820.uir", OPENPANEL);
	DisplayPanel (openpanel);
}

void CVICALLBACK CLOSECALL (int menuBar, int menuItem, void *callbackData,
		int panel)
{
	VCI_CloseDevice(DeviceType,DeviceIndex);
}

void CVICALLBACK EXITCALL (int menuBar, int menuItem, void *callbackData,
		int panel)
{
	QuitUserInterface (0);
}

void CVICALLBACK DEVICEINFOCALL (int menuBar, int menuItem, void *callbackData,
		int panel)
{
}

void CVICALLBACK CANSHUSETCALL (int menuBar, int menuItem, void *callbackData,
		int panel)
{
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -