Время чтения с устройства GPS - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь прочитать время из сообщений GPS, это код:

public void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
        string data = gpsPort.ReadExisting();
        string[] strArr = data.Split('$');
        for (int i = 0; i < strArr.Length; i++)
        {
            string strTemp = strArr[i];
            string[] lineArr = strTemp.Split(',');
            if (lineArr[0].Equals("GPGGA"))
            {
                try
                {
                    this.Invoke(new MethodInvoker(delegate ()
                    {
                        string time = lineArr[1].Remove(6);
                        time = time.Insert(2, ":");
                        time = time.Insert(5, ":");
                        labelGPSTime.Text = time;
                    }));
                }
                catch (Exception ex)
                {
                    string err = ex.Message;
                }
            }
        }
    }

Мой код умеет читать время, когда я только запускаю программу, но не после.Если я использую точку останова и прохожу ее шаг за шагом, она работает, но не тогда, когда она работает нормально.Я попытался использовать тот же код с таймером вместо SerialPort_DataReceived, но он обрезает сообщения в середине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...