Beispiel #1
0
        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);
                }
            }
        }