反射内存卡资料整理

反射内存卡资料整理

ID:13375708

大小:223.00 KB

页数:15页

时间:2018-07-22

反射内存卡资料整理_第1页
反射内存卡资料整理_第2页
反射内存卡资料整理_第3页
反射内存卡资料整理_第4页
反射内存卡资料整理_第5页
资源描述:

《反射内存卡资料整理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、反射内存卡基本特征型号:vmipci-5565-110001.板载内存128MB,地址空间:0x0~0x7FFFFFF2.4kFIFOs3.TransmissionMode=Multimode4.NoConformalCoating保形[角]涂料二、中断式通信流程图1中断式通信流程图2.1特点:一、发送方和接收方通过事件进行同步,CPU占用少;二、发送方可以向多个指定的接收方发送数据,即1对多方式;也可以实现广播方式。2.2注意事项:1.当接收方调用RFM2gWaitForEvent函数后,将挂起当前线程。直到有事件发生或等待超时才能恢复,因此接收部

2、分的代码应采用多线程编程;2.RFM2gSendEvent需要指定接收设备的NodeID,该参数由板卡上的跳线决定(EachRFM2gdeviceonanRFM2gnetworkisuniquelyidentifiedbyitsnodeID,whichismanuallysetbyjumpersonthedevicewhentheRFM2gnetworkisinstalled.ThedriverdeterminesthenodeIDwhenthedeviceisinitialized)。本机的NodeID可以通过APIRFM2gNodeID获取;如果采取

3、广播方式,则参数NodeID应指定为宏定义RFM2G_NODE_ALL;3.数据读写有两种方式:直接读写和内存映射。直接读写的相关函数有:RFM2gRead和RFM2gWrite。内存映射的相关函数有:RFMUserMemory和RFMUnMapUserMemory。后者将板载内存按页(page)映射到程序的内存空间,对映射内存的操作将直接反应到板载内存上。按照手册的解释:使用内存映射后,数据的传输将使用PIO方式,不使用DMA方式。而直接读写函数的数据传输将尽可能采取DMA方式。三、代码3.1收发一体的通信代码(摘自例程rfm2g_send.c,为便于

4、理解,去掉了其中的错误处理代码):#include"rfm2g_windows.h"//屏蔽在Vs2005中编译时的警告#include"rfm2g_api.h"//rfmAPI#defineBUFFER_SIZE256//缓冲区大小256byte#defineOFFSET_10x1000//写数据起始位置4k#defineOFFSET_20x2000//读数据起始位置8k#defineTIMEOUT60000//超时时间60s#defineDEVICE_PREFIX"\\.\rfm2g"//win系统的PCI设备名前缀RFM2G_STATUSre

5、sult;//RFM2gAPI调用的返回值,成功为RFM2G_SUCCESSRFM2G_CHARdevice[40];//完整的设备名由前缀和设备编号组成RFM2GHANDLEHandle=0;//设备操作句柄,由RFM2gOpen返回//构造设备名,如"\\.\rfm2g1"sprintf(device,"%s%d",DEVICE_PREFIX,numDevice);//打开设备result=RFM2gOpen(device,&Handle);//使网络中断可用。默认情况下,反射内存网的中断是不可用的,RFM2gEnableEvent函数使得接收

6、设备可以响应网络中断。如果发送方不需响应中断,则不必调用该函数result=RFM2gEnableEvent(Handle,RFM2GEVENT_INTR2);//将数据写入反射内存卡的板载内存。result=RFM2gWrite(Handle,OFFSET_1,(void*)outbuffer,BUFFER_SIZE*4);/*在板载内存的有效范围之内,从第二个参数指定起始地址开始写入数据。写入的长度按字节计算。字长换算法则:1byte=1RFM2G_UINT81word=1RFM2G_UINT16=2*RFM2G_UINT81longword=1RF

7、M2G_UINT32=4*RFM2G_UINT8*///发网络中断result=RFM2gSendEvent(Handle,otherNodeId,RFM2GEVENT_INTR1,0);//等待中断RFM2GEVENTINFOEventInfo;EventInfo.Event=RFM2GEVENT_INTR2;//等待的网络中断类型EventInfo.Timeout=TIMEOUT;//等待多久即超时result=RFM2gWaitForEvent(Handle,&EventInfo);//调用后程序挂起//读数据.与RFM2gWrite函数类似,需要

8、事先分配读取缓冲和指定读取数据的长度result=RFM2gRead(Handl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。