#if (defined(WIN32))
#include "rfm2g_windows.h"
#endif
#include <stdio.h>
#include <string.h>
#include "rfm2g_api.h"
#include "RFM2G.h"
#if (defined(RFM2G_LINUX))
#ifdef CONFIG_DEVFS_FS
#define DEVICE_PREFIX "/dev/rfm2g/"
#else
#define DEVICE_PREFIX "/dev/rfm2g"
#endif
#define PROCFILE "/proc/rfm2g"
#elif defined(RFM2G_VXWORKS)
#define DEVICE_PREFIX "RFM2G_"
#elif defined(SOLARIS)
#define DEVICE_PREFIX "/dev/rfm2g"
#elif defined(WIN32)
#define DEVICE_PREFIX "\\\\.\\rfm2g"
#else
#error Please define DEVICE_PREFIX for your driver
#endif
//#include <stdio.h>
//#include <stdlib.h>
//#include "RFM2G.h"
//#include "rfm2g_api.h"
RFM2GHANDLE Handle;
RFM2GEVENTINFO EventInfo;
RFM2G_NODE NodeId;
DLL_EXPORT bool openDevice(RFM2G_INT32 numDevice)
{
RFM2G_CHAR device[80];
sprintf((char*)device, "%s%d", DEVICE_PREFIX, numDevice);
RFM2G_STATUS result;
result = RFM2gOpen( (char*)device, &Handle );
if( result != RFM2G_SUCCESS )
{
return false;
}
else
{
return true;
}
}
DLL_EXPORT int RFMNodeId()
{
RFM2G_STATUS result;
result=RFM2gNodeID(Handle,&NodeId);
if(result == RFM2G_SUCCESS)
{
return (int)NodeId;
}
if(result != RFM2G_SUCCESS)
{
return -1;
}
}
DLL_EXPORT bool readData(int offset,void *readBuffer,int sizeBytes)
{
RFM2G_STATUS result;
result = RFM2gRead( Handle, offset, readBuffer, sizeBytes);
if( result != RFM2G_SUCCESS )
{
RFM2gClose( &Handle );
return false;
}
else
{
return true;
}
}
DLL_EXPORT bool writeData(int offset,void *writeBuffer,int sizeBytes)
{
RFM2G_STATUS result;
result=RFM2gWrite(Handle, offset, writeBuffer, sizeBytes);
if( result != RFM2G_SUCCESS )
{
RFM2gClose( &Handle );
return false;
}
else
{
return true;
}
}
DLL_EXPORT bool RFMSendEvent(int nodeID)
{
RFM2G_STATUS result;
result=RFM2gSendEvent(Handle,(RFM2G_NODE)nodeID,RFM2GEVENT_INTR1,0);
if(result != RFM2G_SUCCESS)
{
RFM2gClose(&Handle);
return false;
}
else
{
return true;
}
}
DLL_EXPORT int RFM2GWaitForEvent()
{
RFM2G_STATUS result;
RFM2G_NODE otherNodeID;
EventInfo.Event = RFM2GEVENT_INTR1;
EventInfo.Timeout = RFM2G_INFINITE_TIMEOUT;
result = RFM2gEnableEvent( Handle, RFM2GEVENT_INTR1 );
result = RFM2gWaitForEvent( Handle, &EventInfo );
otherNodeID=EventInfo.NodeId;
if( result == RFM2G_SUCCESS )
{
return otherNodeID;
}
else
{
return -1;
}
}
DLL_EXPORT bool clearEvent()
{
RFM2G_STATUS result;
result=RFM2gClearEvent(Handle,RFM2GEVENT_INTR1);
if(result==RFM2G_SUCCESS)
{
return true;
}
else
{
return false;
}
}
DLL_EXPORT void closeDevice()
{
RFM2gClose( &Handle );
}
没有合适的资源?快使用搜索试试~ 我知道了~
RFM2GDll.rar_direct memory_rfm2g_receiver_rfm2gdll_rfm2gdll_stdc
共35个文件
h:12个
user:3个
manifest:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 26 浏览量
2022-09-24
05:24:54
上传
评论
收藏 2.25MB RAR 举报
温馨提示
由于vc下的反射内存卡接口不能在C#中直接使用,因此本文封装了vc下的反射内存卡接口,使用者可以直接将程序中的封装类和动态库加入自己的程序里,直接调用接口即可实现C#中対反射内存卡的操作。本代码实现的封装可用于多线程下反射内存卡的使用,该程序可迅速帮助读者了解反射卡的使用过程。
资源推荐
资源详情
资源评论
收起资源包目录
RFM2GDll.rar (35个子文件)
RFM2GDll
RFM2GDll.ncb 7.34MB
RFM2GDll.sln 890B
RFM2GDll
rfm2g_api.h 8KB
rfm2gdll_stdc.h 2KB
RFM2GDll.vcproj.BIT-D590A1AD2CB.sang.user 1KB
rfm2g_errno.h 4KB
rfm2g_windows.h 617B
RFM2GDll.vcproj.BIT-8F6422FDC27.XT.user 1KB
rfm2gdll_stdc.dll 27KB
rfm2g_osspec.h 7KB
rfm2gdll_stdc.lib 17KB
RFM2G.h 562B
rfm2g_regs.h 12KB
pmc5565_nt.h 31KB
RFM2GDll.vcproj.BIT-886A316085F.wangguangshuai.user 1KB
RFM2GIo.cpp 3KB
winlocal.h 576B
RFM2GDll.vcproj 5KB
rfm2g_defs.h 11KB
regacc.h 30KB
Debug
BuildLog.htm 11KB
vc90.pdb 100KB
vc90.idb 347KB
mt.dep 67B
RFM2GDll.dll.embed.manifest.res 728B
RFM2GDll.dll.intermediate.manifest 621B
RFM2GDll.dll.embed.manifest 663B
RFM2GIo.obj 29KB
rfm2g_types.h 2KB
RFM2GDll.suo 21KB
Debug
RFM2GDll.pdb 427KB
RFM2GDll.exp 1KB
RFM2GDll.lib 3KB
RFM2GDll.dll 31KB
RFM2GDll.ilk 290KB
共 35 条
- 1
资源评论
四散
- 粉丝: 65
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功