Как читать данные GPS из последовательного порта - PullRequest
0 голосов
/ 21 сентября 2019

Я пытаюсь прочитать данные, поступающие на последовательный порт с USB-BU-353S4.Я не получаю ничего, насколько читаемые предложения NMEA.GPS отлично работает с Raspberry Pi.

Это для консольного приложения .NET.В Интернете есть похожие вопросы, но ни один из примеров, похоже, не работает.

var port = new SerialPort
{
    PortName = "COM5",
    BaudRate = 4800,
    Parity = Parity.None,
    DataBits = 8,
    StopBits = StopBits.One,
};
port.DataReceived += Port_DataReceived;


private static void Port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    string line = "";
    SerialPort port = (SerialPort)sender;
    line = port.ReadExisting();
    Console.Write(line);
}

и ...

private static void Port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    SerialPort port = (SerialPort)sender;
    var count = port.BytesToRead;
    var buffer = new byte[count];
    port.Read(buffer, 0, count);
    var line = Encoding.ASCII.GetString(buffer);
    Console.Write(line);
}

Независимо от того, что я пытаюсь, я получаючто-то вроде:

?))))) (((((# Y? "" !!!!!!!? ?? z? ----------? D??

? J? & %%%%%%%%% ???% $$$$$$$$ f fxx ++++ ******?!???# ????) xm ???? = ??? ????? ????]? t? D0 ?? ????? 3 4 ???? 2 \

1 Ответ

0 голосов
/ 23 сентября 2019

Я нашел ответ здесь: https://superuser.com/questions/1037685/command-to-change-gps-from-sirf-binary-to-nmea-output?newreg=c348c3c51b6b426e9eb6cbfd25daa1c7

Оказывается, GPS отправлял SiRF вместо NMEA.Как только я выполнил шаги, описанные в этой статье, чтобы переключиться на NMEA, все работает отлично!

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