Esempio n. 1
0
        //线程执行体,读写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
                }
            }
        }