private void ConnectPort(string[] connectPortNo, ref List <string> sensorPortNo, ref List <string> sensorKind) { //ポートの接続 //初期化 sensorKind.Clear(); sensorPortNo.Clear(); //シリアルポートの取得 for (int i = 0; i < connectPortNo.Length; i++) { //ポートの設定 Basic.Serial myPort = new Basic.Serial(connectPortNo[i]); //ポート開放 myPort.Open(); //識別番号のみを切り出す char[] kindCode = new char[3]; while (true) { if (myPort.GetSerialStats().ReadChar() == '!') { myPort.GetSerialStats().Read(kindCode, 0, 3); break; } } //センサーの識別番号 sensorKind.Add(new string(kindCode)); //センサのポート番号 sensorPortNo.Add(connectPortNo[i]); //ポート閉鎖 myPort.Close(); } }
public void Open() { //LRFの起動 Basic.Serial port = new Basic.Serial(portNo); //開放 port.Open(); //ポート接続されている if (port.GetSerialStats().IsOpen) { //閉鎖 port.Close(); if (!openflag) { //LRFのデータ取得 Task task = new Task(Proc); task.Start(); } } //閉鎖 port.Close(); }