首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有wince 6 cf 3.5的7“GPS无法打开com端口

带有wince 6 cf 3.5的7“GPS无法打开com端口
EN

Stack Overflow用户
提问于 2014-03-23 06:21:27
回答 2查看 588关注 0票数 0

我使用vb2008和system.IO.Ports.SerialPort中的串口对象连接到我的设备上的com2串口,当我试图打开端口时,从gps.But读取数据时出现IO异常。我的第一个想法是,其他程序正在使用该端口,但请确保我尝试使用pocket-putty (COM2:)打开该端口,包括冒号和所有函数,并且gps数据正在流动。制造商在设备的文档中这样写道:

请注意,对于GPS虚拟串口使用,数据读取不依赖于ComState。CbInQue,读取串口数据需要指定长度。要测试Sygic,Igo8,Careland映射中的法线,请使用CommTest ReadPortThread中的引用。

我不明白他到底是什么意思。

我的代码在另一台Wince设备上运行,但使用wince 5.0和CF 2.0

我感谢你的每一个回答

EN

回答 2

Stack Overflow用户

发布于 2014-03-24 08:38:00

您的端口名称错误。Windows CE要求端口名称以冒号为后缀。异常消息可能会告诉您未找到请求的端口名称。

将代码更改为:

代码语言:javascript
复制
mySerialPort.PortName = "COM2:"
票数 1
EN

Stack Overflow用户

发布于 2014-03-24 12:37:53

一些设备不提供对GPS SerialPort访问,而是提供流式访问。尝试以文件形式打开GPS端口:

您可能需要此互操作:http://code.google.com/p/win-mobile-code/source/browse/trunk/gps8/Gps8/GPS_Sample8/ReadFile.cs?r=89

然后尝试以文件形式打开:

代码语言:javascript
复制
    #region CN50raw
    bgThread2 myStreamReaderThread;
    private void OpenStream()
    {
        //background thread already running?
        if (myStreamReaderThread == null)
        {
            string szPort="";
            szPort = GetGPSPort();
            if (szPort != "")
            {
                AddRawText("Start reading stream at '" + szPort +"'");
                //start a new thread
                myStreamReaderThread = new bgThread2(szPort);
                myStreamReaderThread.bgThread2Event += new bgThread2.bgThread2EventHandler(myStreamReaderThread_bgThread2Event);
            }
            else
                AddRawText("No raw GPS port found");
        }
    }

    private void OpenStream(string szPort)
    {
        //background thread already running?
        if (myStreamReaderThread == null)
        {
            if (szPort != "")
            {
                AddRawText("Start reading stream at '" + szPort + "'");
                //start a new thread
                myStreamReaderThread = new bgThread2(szPort);
                myStreamReaderThread.bgThread2Event += new bgThread2.bgThread2EventHandler(myStreamReaderThread_bgThread2Event);
            }
            else
                AddRawText("No raw GPS port found");
        }
    }
    void myStreamReaderThread_bgThread2Event(object sender, bgThread2.BgThreadEventArgs bte)
    {
        AddRawText(bte.sString);
    }
    private void CloseStream()
    {
        if (myStreamReaderThread != null)
        {
            myStreamReaderThread.Dispose();
            Application.DoEvents();
            myStreamReaderThread = null;
        }
        Application.DoEvents();
        mnuRAWStart.Enabled = true;
        mnuRAWStop.Enabled = false;
    }
    #endregion

上面的getGpsPort函数使用MS注册表设置来查找原始端口名称。如果您的devcice确实支持GPSID,则不需要上述所有操作,可以使用GPSID API获取GPS的位置数据。

检查设备的注册表:

代码语言:javascript
复制
    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 "";
    }

以上代码行是用于Windows Mobile (Compact Framework)的GpsSample应用程序的源代码

文章:http://www.hjgode.de/wp/2010/06/11/enhanced-gps-sample-update/

代码http://code.google.com/p/win-mobile-code/source/browse/trunk/gps8/Gps8/GPS_Sample8/?r=89

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

https://stackoverflow.com/questions/22584414

复制
相关文章

相似问题

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