void GetErrorInfo() { CAN_ERR_INFO errorInfo = new CAN_ERR_INFO(); ECANStatus readErrResult = ECANDLL.ReadErrInfo(deviceType, useCANIndex, useCANIndex, out errorInfo); if (readErrResult != ECANStatus.STATUS_OK) { Logger.logError("无法读取CAN错误!"); return; } if (errorInfo.ErrCode == 0) { Logger.logError("存在未知CAN错误!"); } else { Logger.logError("存在以下CAN错误:"); Logger.print("------------ECAN错误开始------------"); foreach (uint errKey in errExplain.Keys) { if ((errKey & errorInfo.ErrCode) > 0) { Logger.print(errExplain[errKey]); } } Logger.print("------------ECAN错误结束------------"); } }
public bool ReadErrorInfo(out CAN_ERR_INFO info) { return(ECANStatus.STATUS_OK == ECANDLL.ReadErrInfo(DefaultDeviceType, 0, 0, out info)); }
public static extern ECANStatus ReadErrInfo( UInt32 DeviceType, UInt32 DeviceInd, UInt32 CANInd, out CAN_ERR_INFO ReadErrInfo);