gpt4 book ai didi

c# - 从 GPS 读取 NMEA 语句

转载 作者:行者123 更新时间:2023-11-30 14:20:27 24 4
gpt4 key购买 nike

我有一台 Mio P550 设备,其中包含 GPS。我尝试使用 SerialPort 获取 NMEA 语句,只需使用 SerialPort.Read()。数据以某种奇怪的编码返回。 GPS 应该以 ASCII 格式返回 NMEA 语句,但事实并非如此。这是我的阅读代码:

                dataLength = this.serialPort.Read(buffor, 0, Gps.BUFFOR_LENGTH);
Debug.WriteLine("data length: " + dataLength);

if (dataLength > 0)
{
for (int i = 0; i < dataLength; i++)
{
char c = Convert.ToChar(buffor[i]);

if (c == '\r' || c == '\n')
{
string data = stringBuilder.ToString();
Debug.WriteLine("data readed: " + data);

if (data.StartsWith("$GPGGA"))
{
this.OnLocationChanged(data);
}

stringBuilder.Length = 0;
}
else
{
stringBuilder.Append(c);
}

Debug.WriteLine("readed data: " + stringBuilder.ToString());
}

这是我得到的示例值:xæææxfæ`æxæføøøxxxøx

我还有第二台设备 (Asus A636N),它以 ASCII 格式返回 NMEA 语句,我的代码运行良好。

要使用 Mio 设备获取 ASCII 格式的 NMEA 语句,我需要做什么?或者我如何获得设备返回数据的编码?我尝试使用 System.Text.Encoding.xxx.GetString() 中的所有类从读取的字节中获取字符串,但它没有返回正确的数据 - 它返回的数据类似于上面的示例。

最佳答案

您可能需要确保串行端口的波特率设置为 4800 baud按照 NMEA 规范的要求。

关于c# - 从 GPS 读取 NMEA 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1287464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com