//线程执行体,读写CAN总线 private void WriteCanBusThread() { TCANDATA MsgData; while (!cancelTokenSource.IsCancellationRequested) { Thread.Sleep(1); //把数据写到总线上 if (_MsgQueue.TryDequeue(out MsgData)) { bool IsSucc = _CanObj.WriteCanMsg(MsgData.ID, MsgData.Data); #if (DEBUG) string Loginfo; if (IsSucc) { Loginfo = "Send:" + GetInfoMsg(MsgData.ID, MsgData.Data); LogHelper.WriteLog(Loginfo); } else { #if (!SIMU) Loginfo = "Send Error:" + GetInfoMsg(MsgData.ID, MsgData.Data); LogHelper.WriteLog(Loginfo); #endif } #endif } } }