//2.定义CAN信息帧的数据类型。
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct VCI_CAN_OBJ
{
public uint ID;
public uint TimeStamp;
public byte TimeFlag;
public byte SendType;
public byte RemoteFlag;//是否是远程帧
public byte ExternFlag;//是否是扩展帧
public byte DataLen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] Data;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] Reserved;
}
[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);
CANApi.VCI_CAN_OBJ[] frameInfos = new CANApi.VCI_CAN_OBJ[50];
len = (int)CANApi.VCI_Receive(3, 0, 0, ref frameInfos[0], 50, 200);
if (len <= 0)
{ CANApi.VCI_ReadErrInfo(3, 0, 0, ref errInfo);
}运行程序可以读取并返回一条数据
解决方案 »
- ControlPaint.DrawReversibleFrame如何清除这个函数所画的矩形框
- 看一些人的asp.net学习方法似乎有误。。。
- 未将对象引用设置到对象的实例 请问这个异常怎么处理才不会出现
- 求助!c#中不在 DrawItem 里进行判断,怎么使listbox控件的焦点随滚动条移动自动变化
- datagridview显示问题
- dateTimePicker1控件使用
- 如何判断本机是公网,还是内网??
- C#连接Access数据库insert操作时,debug目录下临时数据库修改了,但是原数据库不变。
- 新手提问C# 如何实现在局域网上文件的传输.和聊天.望大虾指教
- 关于硬盘序列号,高手请留步啊. (之2)--zhgc(大蛇)请进来拿分
- iis7下载文件提示404.0 - Not Found
- 线程的执行次序
public static extern uint VCI_Receive(uint DeviceType, uint DeviceInd, uint CANInd, ref VCI_CAN_OBJ pReceive, uint Len, int WaitTime);是将这部分重新定义吗?[DllImport("ControlCAN.dll", EntryPoint = "VCI_Receive", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern uint VCI_Receive(uint DeviceType, uint DeviceInd, uint CANInd, out VCI_CAN_OBJ[] pReceive, uint Len, int WaitTime);
这样