private async void ConnectToSerialPort() { while (true) { if (!USB_Connected_flag) { string selector = SerialDevice.GetDeviceSelector(); DeviceInformationCollection devices = await DeviceInformation.FindAllAsync(selector); if (devices.Count > 0) { DRBE_frontPage.Statues_tb.Text += selector; DRBE_frontPage.Statues_tb.Text += "\r\n " + devices.Count.ToString(); DRBE_frontPage.Statues_tb.Text += "\r\n " + devices[0].Name.ToString(); DeviceInformation deviceInfo = devices[0]; DRBE_frontPage.Statues_tb.Text += "\r\n " + deviceInfo.Id.ToString(); try { serialDevice = await SerialDevice.FromIdAsync(deviceInfo.Id); DRBE_frontPage.Statues_tb.Text += "\r\n Connected" + serialDevice.ToString(); serialDevice.BaudRate = 115200; serialDevice.DataBits = 8; serialDevice.StopBits = SerialStopBitCount.Two; serialDevice.Parity = SerialParity.None; d_reader = new DataReader(serialDevice.InputStream); d_writer = new DataWriter(serialDevice.OutputStream); USB_Connected_flag = true; } catch (Exception es) { DRBE_frontPage.Statues_tb.Text += "\r\n " + es.ToString(); await Task.Delay(3000); } } else { } } else { await Task.Delay(2000); } } }