C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 从GPS读取NMEA语句大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一台Mio P550设备,其中包含GPs.我尝试使用serialPort来获取NMEA句子,只需使用serialPort.Read()即可.数据以一些奇怪的编码返回. GPS应该以ASCII格式返回NMEA句子,但事实并非如此.这是我的阅读代码

dataLength = this.serialPort.Read(buffor,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

我还有第二个设备(华硕A636N),它返回ASCII的NMEA句子,我的代码效果很好.

我与Mio设备有什么关系来获得ASCII的NMEA句子?或者我如何获取设备返回的数据的编码?我尝试使用System.Text.Encoding.xxx.GetString()中的所有类从readed字节获取字符串,但它不返回正确的数据 – 它返回类似于上面示例的数据.

解决方法

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

大佬总结

以上是大佬教程为你收集整理的c# – 从GPS读取NMEA语句全部内容,希望文章能够帮你解决c# – 从GPS读取NMEA语句所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。