如何用STM32读取Adafruit GPS数据?

How to read Adafruit GPS Data with STM32?

我正在使用 STM32 Nucleo-F334R8 board and a Ultimate GPS Breakout V3 from Adafruit

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

最后,我想在我的 F334R8 板上获取 GPS 数据,然后将其发送到 RaspberryPi 3 with the serial communication. I'm having a lot of trouble so far, I'm coding on 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 控制台上没有收到任何信息。 有人可以帮忙吗?

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

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

static MTK3339 gps(D8, D2);