Windows通用串行通信

时间:2019-03-04 13:26:05

标签: windows serial-port universal

我想制作一个通用的Windows应用程序,该应用程序通过串行端口从传感器读取数据,其想法是在组合框中收集可用的端口,如果在文本块和其他文本块中未连接,请接我textblock向我显示接收到的数据。

这是Windows窗体中具有相同功能的应用程序的代码。

using System;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.IO.Ports;
using System.Threading;


namespace WindowsFormsApp3
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        label6.Text = "SIN CONEXIÓN";
    }

    string[] puertos = System.IO.Ports.SerialPort.GetPortNames();
    string puerto = "";
   string dato ;
    int contador = 0;

    private void Form1_Load(object sender, EventArgs e)
    {
        foreach (string mostrar in puertos)
        {

            comboBox1.Items.Add(mostrar);

        }
    }

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        puerto = comboBox1.Text;
        try
        {
            serialPort1.PortName = puerto;
            serialPort1.Open();
            CheckForIllegalCrossThreadCalls = false;
            if (serialPort1.IsOpen == true)
            {
                MessageBox.Show("SENSOR CONECTADO");
                timer1.Start();
            }

        }
        catch (Exception ex)
        {
            MessageBox.Show("ERROR NO HAY CONEXIÓN");
            timer1.Stop();

        }
    }

    private void button1_Click(object sender, EventArgs e)
    {
        serialPort1.Close();
        serialPort1.Dispose();
        label6.Text = "NO HAY CONEXIÓN CON NINGÚN SENSOR";
        timer1.Stop();

    }

    private void button2_Click(object sender, EventArgs e)
    {
        Close();
    }

    private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
        dato = serialPort1.ReadExisting();

            label6.Text = "RECIBIENDO DATOS DEL SENSOR";
            string o2 = dato;
            label4.Text = o2.ToString();

    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        label6.Text = "";
    }
}
}

如何在Windows Universal中做到这一点?

0 个答案:

没有答案