📄 oem4pcidll.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 + -