1

我正在使用STM32 Nucleo-F334R8 板来自 Adafruit 的 Ultimate GPS Breakout V3

我要做的是使用串行通信在我的计算机上使用Putty读取 GPS 数据。

最后,我想在我的 F334R8 板上获取 GPS 数据,然后通过串行通信将其发送到RaspberryPi 3。到目前为止,我遇到了很多麻烦,我在Mbed Compiler Online上进行编码,每次我想找到解决方案时,情况都会变得更糟。

有人对我有解决方案吗?

编辑:好的,谢谢!我还尝试通过串行通信将接收到的数据发送到 Raspberry Pi 3。我已将 D15 和 D14 连接到 Raspberry 的 TX 和 RX,但是当我使用时:

#include "mbed.h"
#include "MTK3339.h"

static int waitData = 0;
static MTK3339 gps(D8, D2);
static float latitude = 0;
static float longitude = 0;

Serial rasp(D15, D14); // D15 = RX, D14 = TX

static void dataAvailable() {
    waitData |= gps.getAvailableDataType();
}

int main(void) {

    gps.start(&dataAvailable, (MTK3339::NmeaGga|MTK3339::NmeaVtg));

    while(1) {
        while(waitData == 0);

        if ((waitData & MTK3339::NmeaGga) != 0) {
            waitData &= ~(MTK3339::NmeaGga);
            latitude = gps.getLatitudeAsDegrees();
            longitude = gps.getLongitudeAsDegrees();
            //printf("%f,%f\n", gps.getLatitudeAsDegrees(), gps.getLongitudeAsDegrees());
            //printf("lat = %f, long = %f",latitude, longitude); 
            rasp.printf("%f\n", latitude);           
        }  

        waitData &= (MTK3339::NmeaGga|MTK3339::NmeaVtg);
    }
}

但它不起作用。我在 Raspberry 控制台上没有收到任何内容。有人可以帮忙吗?

4

1 回答 1

1

这是一个读取 Adafruit 板上 GPS 芯片数据的示例应用程序:https ://os.mbed.com/users/embeddedartists/code/app_gps/

通过引脚 D8/D2 上的 UART 将 GPS 芯片连接到 F334R8 板(D0/D1 不适用于该板上的 UART,因为它用于与计算机通信)。然后将第 5 行更改main.cpp为:

static MTK3339 gps(D8, D2);
于 2018-01-12T12:24:49.303 回答