调试周立功USBCAN提示“尝试读取或写入受保护的内存”错误
如题,在写个监控界面,读取周立功usbcan发过来的帧。。
现在调试,当数据量比较小时(每秒100帧一下),一切正常,也不存在丢帧现象
但是当我的接收的数据量非常大时,总是会提示“尝试读取或写入受保护的内存,这通常指示其他内存已损坏”
代码如下
api:
[DllImport("ControlCAN.dll", EntryPoint = "VCI_Receive", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern uint VCI_Receive(uint DeviceType, uint DeviceInd, uint CANInd, ref VCI_CAN_OBJ pReceive, uint Len, int WaitTime);
调用:
len = CANApi.VCI_Receive(My_Can_Parameter.Get_DeviceType(), My_Can_Parameter.Get_DeviceIndex(), My_Can_Parameter.Get_CanIndex(), ref frameInfos[0], 30, 10);
其中frameInfos 定义如下:CANApi.VCI_CAN_OBJ[] frameInfos = new CANApi.VCI_CAN_OBJ[30];
现在每当运行到这句时就会报错。。郁闷死了
而且我试过了,当我30这个参数改到3一下不会报错,但是会丢帧。。
请大神指点一二,小弟不胜感激~