如何在c#(visual studio)中编写连接到GPS USB端口并在richTextBox中显示NMEA数据的程序?

如何在c#(visual studio)中编写连接到GPS USB端口并在richTextBox中显示NMEA数据的程序?,c#,gps,usb,richtextbox,C#,Gps,Usb,Richtextbox,我有USB连接的GPS 我使用程序虚拟GPS自动搜索和连接该GPS并显示NMEA数据 我想用C#编写一个简单的程序,它将与这个GPS连接,并在RichTextBox中实时显示NMEA数据 我需要帮助,因为我不知道从哪里开始,如何开始。我是c#的初学者,但我下定决心了,因为我没有很多时间。我现在正在处理nmea数据(我编写了大部分程序,这是我的学业所需要的(绘图图lang和latit、显示路线、解析nmea itc))。我需要提示、示例代码、示例文章或任何可以帮助我的东西。大多数用于PC的GPS

我有USB连接的GPS

我使用程序虚拟GPS自动搜索和连接该GPS并显示NMEA数据

我想用C#编写一个简单的程序,它将与这个GPS连接,并在RichTextBox中实时显示NMEA数据


我需要帮助,因为我不知道从哪里开始,如何开始。我是c#的初学者,但我下定决心了,因为我没有很多时间。我现在正在处理nmea数据(我编写了大部分程序,这是我的学业所需要的(绘图图lang和latit、显示路线、解析nmea itc))。我需要提示、示例代码、示例文章或任何可以帮助我的东西。

大多数用于PC的GPS鼠标都被检测/识别为USB ACM/COM/串行设备。 这意味着它们模拟串行端口。查看一下您的设备管理器,看看是否存在这种情况,以及它连接到了哪个COMx端口

然后可以使用SerialPort类()连接到鼠标

SerialPort类型的对象具有名为“DataReceived”的非常好的事件,该事件在数据到达输入缓冲区或(设置时)新行NMEA数据到达时被调用


请注意,DataReceived事件是在与GUI线程不同的线程中触发的,您需要在Windows窗体(或类似窗体)中调用该事件

正常问题已解决。几乎没有变化。.ReadExisting();->。ReadLine()和另一个。调用->。开始调用。我发现了很多串行com程序,没有人看这个问题。。在这种情况下,当我们停止(断开端口)并再次启动时,程序不可能崩溃

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
    {
        RxString = serialPort1.ReadLine();
        this.BeginInvoke(new EventHandler(DisplayText));
    }