在Windows Mobile 6中检索NMEA数据

时间:2013-02-17 13:21:04

标签: c# gps windows-mobile-6

我想从我的集成gps硬件中检索数据..我已经在stackoverflow上阅读了更多帖子,但我没有找到c#源代码。非常感谢...

1 个答案:

答案 0 :(得分:2)

在此处查看我的GPS样本http://www.hjgode.de/wp/2010/06/11/enhanced-gps-sample-update/

获取原始NMEA数据的线索是使用GPSID直接端口。它在regitrsy中编码:

        private string GetGPSPort()
    {
        string szStr="";
        if (Registry.GetStringValue(Registry.HKLM,
                        "System\\CurrentControlSet\\GPS Intermediate Driver\\Multiplexer",
                        "DriverInterface",
                        ref szStr)
            == 0)
        {
            return szStr;
        }
        else 
        {
            if (Registry.GetStringValue(Registry.HKLM,
                "System\\CurrentControlSet\\GPS Intermediate Driver\\Drivers",
                "CurrentDriver",
                ref szStr) == 0)
            {
                string szPath = "System\\CurrentControlSet\\GPS Intermediate Driver\\Drivers\\" + szStr;
                if (Registry.GetStringValue(Registry.HKLM, szPath, "CommPort", ref szStr) == 0)
                {
                    return szStr;
                }
            }
        }
        return "";
    }

上面给出了可用于打开和读取RAW NMEA数据的端口名称。

以上假设设备支持MS GPSID。

此外,使用原始端口还有两种可能性:a)使用串行通信或b)使用流。访问和读取方法都在通过网站提供的完整源代码中使用。