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

📄 oem4pcidll.h

📁 C++编写的针对CP5611 PCI卡的通讯程序Demo
💻 H
字号:
// oem4pcidll.h : main header file for the OEM4PCIDLL DLL
//

#ifndef		_OEM4PCIDLL_H
#define		_OEM4PCIDLL_H



#include "resource.h"		// main symbols
#include "ch365dll.h"		// main symbols

#define UINT unsigned int
#define UCHAR unsigned char

/********************** Following program for oem4pcidll.dll ****************/
/********************** Modified by jim in 12.08.2006 ***********************/


//******************   对PCI卡初始化(包括对双口RAM自检和与PB连接)********************//

extern "C"  UCHAR  pcicard_init(UCHAR *init_addr,UCHAR init_len);

//init_addr:指针变量,指向配置PROFIBUS数据的首地址;len:配置数据长度;

/* 返回值定义:

    0X10:自检和初始化成功;
	0X20:自检失败
	0X21:初始化失败
	0X30:自检未获得控制权
	0X31:初始化未获得控制权
	0x40:接口板未准备好标志	
	
*/
//*********** "C"在WINDOWS编程环境(不带MFC)要去掉


//**************************   接收PROFIBUS数据和用户参数  ********************************//

extern "C" UCHAR receive_pbdata(UCHAR *revda_addr,UCHAR revda_len,UCHAR *revpda_addr,UCHAR revpda_len);

//*** revda_addr:指针变量,指向存放待接收数据的首地址;revda_len:待接收数据的长度

//*** revpda_addr:指针变量,指向存放待接收用户参数的首地址;revpda_len:待接收用户参数的长度

/* 返回值定义:

  0X10:读取数据成功;0X11:读取数据失败;0X20:读取用户参数成功;0X21:读取用户参数失败;
  0x30:未获得控制权
  0X40:输出数据和用户参数数据同时有效,但读取失败;
  0X44:输出数据和用户参数数据同时有效,读取用户参数成功;
  0X48:输出数据和用户参数数据同时有效,读取数据成功;
  0X4C:输出数据和用户参数数据同时有效,读取用户参数和数据成功;
  0X50:PROFIBUS主站已连通,没有有效数据;
  0X60:PROFIBUS主站未连通;
*/
//*********** "C"在WINDOWS编程环境(不带MFC)要去掉


//**************************   发送PROFIBUS数据  ********************************//

extern "C"  UCHAR send_pbdata(UCHAR *sendda_addr,UCHAR sendda_len);

//*** sendda_addr:指针变量,指向存放待发送数据的首地址;sendda_len:待发送数据的长度,它包括数据长度、数据、校验和


/* 返回值定义:

  0X10:发送数据成功;
  0x20:发送数据失败
  0X30:未获得控制权;

*/
//*********** "C"在WINDOWS编程环境(不带MFC)要去掉

//**************************   产生中断信号  ********************************//
extern "C"  void trig_int(void);

//它可产生一个中断信号触发PCI卡中断

//**************************  退出同时复位PCI卡 ********************************//
extern "C"  void exit_pcicard(void);

//***************宏定义
#define OPEN_PCICARD  CH365OpenDevice(TRUE,TRUE)           // 打开PCI卡,返回句柄,出错则无效(返回NULL或INVALID_HANDLE_VALUE值)
#define OPEN_INT  CH365mSetIntRoutine(0,InterruptEvent)    //打开中断使能,中断时响应中断函数InterruptEvent
#define CLOSE_INT  CH365mSetIntRoutine(0,NULL)             // 禁止中断

/////////////////////////////////////////////////////////////////////////////

//********************中断函数 ***************************//

void  CALLBACK InterruptEvent(void) //应用时将此函数移至.c或.cpp文件中
{
	
//由于中断实时性高,可以随时被调用,所以在这个函数里不宜做过多操作,用postmessage函数将操作外移.	  
		  
}








#endif // !defined(AFX_OEM4PCIDLL_H__798E184A_F5B2_4392_9473_53E6670A14D2__INCLUDED_)

⌨️ 快捷键说明

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