예제 #1
0
        /// <summary>
        /// 停止所有的设备通讯线程
        /// </summary>
        public void StopUse()
        {
            m_bRunning = false;

            //停止时间同步线程
            //if (m_SynTimeThread != null)
            //{
            //    m_SynTimeFlag = false;
            //    Thread.Sleep(1000);
            //    m_SynTimeThread.Abort();
            //}

            if (UseMeter)
            {
                if (m_CoolSerialForMeter != null)
                {
                    m_CoolSerialForMeter.StopUse();
                }
            }

            if (UseLED)
            {
                if (m_CoolSerialForLed != null)
                {
                    m_CoolSerialForLed.StopUse();
                }
            }

            if (UseReader)
            {
                if (m_CoolReader != null)
                {
                    m_CoolReader.StopUse();
                    m_CoolReader.Close();
                }
            }

            if (UseDisplay)
            {
                if (m_CoolDisplay != null)
                {
                    m_CoolDisplay.Close();
                }
            }

            if (UseRtu)
            {
                if (m_CoolRtu != null)
                {
                    m_CoolRtu.StopUse();
                }
                if (m_CoolRtuForCommand != null)
                {
                    m_CoolRtuForCommand.Close();
                }
            }

            System.Threading.Thread.Sleep(200);
        }