このGPSはGT-730FLと同じくPL-2303なので、ボーレートを4800bpsにするだけで動作します。


これは99円マイクロSD。もちろんmbedで動きました。
(2012/12/31)
---


float DMMtoDegree(const char *s)
{
char *p = strchr(const_cast<char*>(s), '.');
if (p == NULL) {
return 0.0;
}
const uint32_t k[] = {10000,1000,100,10,1};
uint32_t i3 = atoi(p+1) * k[strlen(p+1)];
uint32_t i2 = atoi(p-2);
uint32_t i1 = atoi(s) / 100;
uint32_t i = i1*10000*60 + (i2*10000 + i3);
return i / 10000.0 / 60.0;
}
// pl2303.cpp 2011/10/14
#include "mbed.h"
#include "USBHost.h"
#include "Utils.h"
#define PL2303_SET_LINE_CODING 0x20
u8 pl2303_buf[64];
void pl2303_Callback(int device, int endpoint, int status, u8* data, int len, void* userData)
{
//printfBytes("pl2303_bulk_Callback", data ,len);
for (int i = 0; i < len; i++) {
printf("%c", data[i]);
}
USBBulkTransfer(device, 0x83, pl2303_buf, sizeof(pl2303_buf), pl2303_Callback, userData);
}
int OnPL2303Insert(int device)
{
printf("PL-2303 inserted of %d\n",device);
USBBulkTransfer(device, 0x83, pl2303_buf, sizeof(pl2303_buf), pl2303_Callback, (void*)0);
u8 data[] = {0x00, 0x96, 0x00, 0x00, 0x00, 0x00, 0x08}; // 38400bps,8bit
USBControlTransfer(device, REQUEST_TYPE_CLASS | RECIPIENT_INTERFACE,
PL2303_SET_LINE_CODING, 0, 0, data, sizeof(data));
return 0;
}