如何同步 NMEA gps 语句的输出

问题描述

我有两个功能:

string get_GPGGA() {
// read_gga_sentence extract only gga
return gps.read_gga_sentence();
}

string get_GPGSA() {
// read_gsa_sentence extract only gsa
return gps.read_gsa_sentence();
}

int main() {
    while(true) {
    cout << get_GPGGA();
    cout << get_GPGSA();
    }
}

问题是,gps 模块在一秒内传输了 4 个句子。所以我第一次调用 read_gga_sentence() 时,我已经丢弃了所有其他句子并保留了 gga。与 read_gsa_sentence 相同。但我发现这会在我的程序中造成延迟,因为一旦我调用第一个 get_GPGGA(),它会等待 1 秒,然后我可以调用 get_GPGSA()。但是,我希望能够在同一 1 秒内将它们全部打印

这里需要多线程吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)