【问题标题】:How to read data from serial port using C#如何使用C#从串口读取数据
【发布时间】:2021-06-15 08:27:42
【问题描述】:

我必须创建我认为非常简单的东西。我的主板上有物理按钮和串行端口。我想编写一个程序来读取按钮是否被按下,就是这样。问题是我在设备管理器中看不到任何 COM 端口(我使用的是 Windows 10)。我还读到,如果我将 1 和 7 针连接在一起,我可以从串口接收一些数据。

为什么我看不到 COM 端口,是否可以让它像上面写的那样工作?

【问题讨论】:

    标签: windows windows-10 serial-port


    【解决方案1】:
    1. “为什么我看不到 COM 端口”

    • 解决方案 1:有时它只是隐藏。您需要打开设备管理器 -> 选择查看选项卡 -> 选择显示隐藏的设备。您可能会看到 Ports (COM & LPT) 选项。

    • 解决方案 2:更新您的主板驱动程序。

    • 解决方案 3:手动添加 COM 端口。看看这个link

    1. “如何从串口读取数据”

    public static void Main()
    {
        SerialPort mySerialPort = new SerialPort("COM1");
    
        mySerialPort.BaudRate = 9600;
        mySerialPort.Parity = Parity.None;
        mySerialPort.StopBits = StopBits.One;
        mySerialPort.DataBits = 8;
        mySerialPort.Handshake = Handshake.None;
    
        mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
    
        mySerialPort.Open();
    
        Console.WriteLine("Press any key to continue...");
        Console.WriteLine();
        Console.ReadKey();
        mySerialPort.Close();
    }
    
    private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
    {
        SerialPort sp = (SerialPort)sender;
        string indata = sp.ReadExisting();
    }
    

    每次数据进来时,DataReceivedHandler 都会触发并将你的数据打印到控制台。

    您可以查看此link 以供参考。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-12
      • 1970-01-01
      • 1970-01-01
      • 2017-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多