我正在使用STM32 Nucleo-F334R8 board和Ultimate GPS Breakout V3 from Adafruit。
我尝试做的是使用串行通信在我的计算机上使用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控制台上没有收到任何内容。 有人可以帮忙吗?
答案 0 :(得分:0)
这是一个示例应用程序,用于读取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);