首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从GPS阅读NMEA句子

从GPS阅读NMEA句子
EN

Stack Overflow用户
提问于 2009-08-17 11:31:03
回答 1查看 4.7K关注 0票数 3

我有一个Mio的P550设备,它有一个全球定位系统。通过简单地使用SerialPort.Read(),我尝试使用SerialPort来获取NMEA语句。数据以某种奇怪的编码方式返回。GPS应该返回ASCII格式的NMEA语句,但它没有。下面是我的阅读代码:

代码语言:javascript
复制
                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áéføxxxøx

我也有第二个设备(华硕A636N),它返回NMEA句子在ASCII和我的代码工作很棒。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-17 11:36:43

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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1287464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档