/// <summary> /// 接收数据(线程方法) /// </summary> public void RecvData(Fmain f1) { if (!MyPort.IsOpen) { MyPort.Open(); } result = new byte[MyPort.BytesToRead]; //Sresult= MyPort.ReadExisting(); //MyPort.Read(result, 0, MyPort.BytesToRead); //f1.DataBox.AppendText(System.Text.Encoding.ASCII.GetString(result)+ "\n"); #region 读取 for (int i = 0; i < 64; i++) { MyPort.Read(result, 0, MyPort.BytesToRead); try { CSinput[i] = Convert.ToDouble(System.Text.Encoding.ASCII.GetString(result)); } catch (Exception e) { MessageBox.Show(e.ToString()); } } #endregion //MyThread.Start(); test(); }
public void findPorts() { tmpPorts.Clear(); ManagementObjectCollection moc = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity").Get(); foreach (ManagementObject service in moc) { if (service.Properties["Caption"].Value != null) { string capt = service.Properties["Caption"].Value.ToString(); if (capt.Contains("(COM")) { capt = capt.Substring(capt.IndexOf("(COM") + 1).Replace(")", ""); string address = service.Properties["DeviceID"].Value.ToString(); address = address.Substring(0, address.LastIndexOf("_")); address = address.Substring(address.LastIndexOf("&") + 1); MyPort tmp = new MyPort(); tmp.portName = capt; tmp.address = address; tmpPorts.Add(tmp); } } } }
public List <MyPort> portBind(MyPort Data) { MasterManager cm = new MasterManager(); List <MyPort> st = cm.GetCommonPortMaster(Data); return(st); }
/// <summary> /// 关闭串口方法 /// </summary> /// <param name="f1"></param> public void ClosePort() { //MyPort.IsOpen?MyPort.():; if (MyPort.IsOpen) { MyPort.Close(); } else { return; } }
} //确认线路 private void CallBuyTicketWindow(string Enter, string Line, string Leave) { ClientWindow.TicketQueryInfo subinfo1 = new ClientWindow.TicketQueryInfo(); subinfo1.EnterStationNumber = int.Parse(Enter); subinfo1.Line = int.Parse(Line); subinfo1.LeaveStationNumber = int.Parse(Leave); subinfo1.StartTime = this.ticketQueryInfo.StartTime; subinfo1.EndTime = this.ticketQueryInfo.EndTime; string info1Msg = Enter + "\n" + Line + "\n" + Leave + "\n" + ticketQueryInfo.StartTime.ToString() + "\n" + ticketQueryInfo.EndTime.ToString(); TcpClient tcpClient = null; NetworkStream networkStream = null; try { tcpClient = new TcpClient(); tcpClient.Connect(myIPAddress, ServerPort); //建立与服务器的连接 networkStream = tcpClient.GetStream(); if (networkStream.CanWrite) { TTS_Core.QueryDataPackage data = new TTS_Core.QueryDataPackage(UserID, myIPAddress + ":" + MyPort.ToString(), "server", TTS_Core.QUERYTYPE.K_TICKETINFO_QUERY, info1Msg); byte[] sendBytes = data.DataPackageToBytes(); //注册数据包转化为字节数组 networkStream.Write(sendBytes, 0, sendBytes.Length); } var newClient = tcpListener.AcceptTcpClient(); var bytes = ReadFromTcpClient(newClient); //获取数据 var package = new TTS_Core.QueryDataPackage(bytes); subinfo1.EnterStationName = package.ExtraMsg.Split('\r')[0].Split('\n')[0]; subinfo1.LineName = package.ExtraMsg.Split('\r')[0].Split('\n')[1]; subinfo1.LeaveStationName = package.ExtraMsg.Split('\r')[0].Split('\n')[2]; info1Msg = package.ExtraMsg; } catch { MessageBox.Show("指定时段内无可选车次!"); return; } finally { if (networkStream != null) { networkStream.Close(); } tcpClient.Close(); } BuyTicketWindow buy = new BuyTicketWindow(subinfo1, info1Msg); buy.ShowDialog(); if (buy.selectTicket.TrainID != 0) { allBuyTicket.Add(buy.selectTicket); } } //调起买票窗体
public List <MyPort> GetCommonPortMaster(MyPort Data) { DataTable dt = GetCommonPortValues(Data); for (int i = 0; i < dt.Rows.Count; i++) { ListPort.Add(new MyPort { ID = Int32.Parse(dt.Rows[i]["ID"].ToString()), PortName = dt.Rows[i]["PortName"].ToString(), }); } return(ListPort); }
/// <summary> /// 打开串口方法(直接) /// </summary> /// <param name="f1">获得主窗体引用</param> public void OpenPort() { try { if (!MyPort.IsOpen) { MyPort.Open(); } } catch (Exception e) { MessageBox.Show(e.ToString() + "\n" + "Open faild" + "\n" + "1.Check config" + "\n" + "2.Check device available" + "\n" + "3.Check device driver", "Error"); } }
public int scanDevs(ComboBox devCombo) { if (getRadio() != null) { devCombo.Invoke(new Action(() => { devCombo.Items.Clear(); devCombo.Enabled = false; })); findPorts(); BluetoothDeviceInfo[] scanDevs = new BluetoothClient().DiscoverDevices(); myPorts.Clear(); for (int i = 0; i < scanDevs.Length; i++) { if (Array.IndexOf(scanDevs[i].InstalledServices, BluetoothService.SerialPort) != -1) { string address = scanDevs[i].DeviceAddress.ToString(); int j = 0; string com = ""; while (j < tmpPorts.Count && com == "") { if (address == tmpPorts[j].address) { MyPort tmp = new MyPort(); tmp.address = address; tmp.devName = scanDevs[i].DeviceName; tmp.portName = tmpPorts[j].portName; com = tmpPorts[j].portName; myPorts.Add(tmp); } j++; } if (com != "") { devCombo.Invoke(new Action(() => devCombo.Items.Add(scanDevs[i].DeviceName /*+ " (" + com + ")"*/))); } } } if (myPorts.Count > 0) { devCombo.Invoke(new Action(() => devCombo.SelectedIndex = 0)); } else { MessageForm.Show(MessageForm.ping_sad, "Проверьте устройство и повторите попытку ещё раз.", "Устройства не обнаружены"); } } else { MessageForm.Show(MessageForm.ping_sad, "На Вашем устройстве отключен Bluetooth!", "Включите Bluetooth"); } return(myPorts.Count); }
/// <summary> /// (重载)打开控件所示串口 /// </summary> /// <param name="f1"></param> public void OpenPort(Fmain f1) { try { if (!MyPort.IsOpen) { #region 事务.串口打开 PortID = f1.PortID.Text.ToString(); MyPort.PortName = f1.PortX.SelectedItem.ToString(); MyPort.BaudRate = Convert.ToInt32(f1.BaudX.SelectedItem.ToString()); switch (f1.CheckX.SelectedIndex) { case 0: MyPort.Parity = Parity.None; break; case 1: MyPort.Parity = Parity.Odd; break; case 2: MyPort.Parity = Parity.Even; break; case 3: MyPort.Parity = Parity.Mark; break; case 4: MyPort.Parity = Parity.Space; break; } MyPort.DataBits = Convert.ToInt32(f1.DataX.SelectedItem.ToString()); switch (f1.StopX.SelectedIndex) { case 0: MyPort.StopBits = StopBits.One; break; case 1: MyPort.StopBits = StopBits.Two; break; case 2: MyPort.StopBits = StopBits.OnePointFive; break; } #endregion MyPort.Open(); } } catch (Exception e) { MessageBox.Show(e.ToString() + "Open faild" + "\n" + "1.Check config" + "\n" + "2.Check device available" + "\n" + "3.Check device driver", "Error"); } }
private void Form1_FormClosing(Object sender, FormClosingEventArgs e) { if (null != mPort) { mPort.Close(); mPort = null; } if (null != testPort) { testPort.Close(); testPort = null; } }
private void button7_Click(object sender, EventArgs e) { if (null != mPort) { mPort.Close(); mPort = null; textBox1.AppendText(comPort.Text + " close\n"); } }
private void button6_Click(object sender, EventArgs e) { if (null != mPort) { mPort.Close(); mPort = null; } mPort = new MyPort(comPort.Text, Convert.ToInt32(comBaud.Text), Convert.ToInt32(comByteSize.Text), StringToParity(comParity.Text), StringToStopBits(comStopBit.Text)); mPort.Open(); textBox1.AppendText(comPort.Text + " open\n"); mPort.mReader += FlowDataReader; //mPort.mReader += VIThermometerReader; mPort.mReporter += FlowErrorReporter; button2.PerformClick(); }
void Start() { // 建立一條執行緒讀取RS232,不這麼做 Unity 會死當 myport = new MyPort(); new Thread(myport.OpenPort).Start(); }
public DataTable GetCommonPortValues(MyPort Data) { string _Query = "Select * from NVO_PortMaster"; return(GetViewData(_Query, "")); }