예제 #1
0
파일: MainForm.cs 프로젝트: qqj1228/SH_OBD
 private void ConnectThreadNew()
 {
     ShowConnectingLabel();
     if (m_obdInterface.CommSettings.AutoDetect)
     {
         if (m_obdInterface.InitDeviceAuto())
         {
             m_obdInterface.GetLogger().TraceInfo("Connection Established!");
             ShowConnectedLabel();
         }
         else
         {
             m_obdInterface.GetLogger().TraceWarning("Failed to find a compatible OBD-II interface.");
             MessageBox.Show("无法找到与本机相连的兼容的OBD-II硬件设备。\r\n请确认没有其他软件正在使用所需端口。", "自动探测失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
             ShowDisconnectedLabel();
             m_obdInterface.Disconnect();
         }
     }
     else
     {
         int baudRate = m_obdInterface.CommSettings.BaudRate;
         int comPort  = m_obdInterface.CommSettings.ComPort;
         if (m_obdInterface.InitDevice(m_obdInterface.CommSettings.HardwareIndex, comPort, baudRate, m_obdInterface.CommSettings.ProtocolIndex))
         {
             m_obdInterface.GetLogger().TraceInfo("Connection Established!");
             ShowConnectedLabel();
         }
         else
         {
             m_obdInterface.GetLogger().TraceWarning("Failed to find a compatible OBD-II interface.");
             MessageBox.Show(
                 string.Format("在 \"端口:{0},波特率:{1}\" 通讯设置下,无法找到兼容的OBD-II协议设备。\r\n请确认没有其他软件正在使用所需端口且波特率设置正确。",
                               m_obdInterface.CommSettings.ComPortName,
                               m_obdInterface.CommSettings.BaudRate
                               ),
                 "连接失败",
                 MessageBoxButtons.OK,
                 MessageBoxIcon.Exclamation
                 );
             ShowDisconnectedLabel();
             m_obdInterface.Disconnect();
         }
     }
 }