我正在使用USB GlobalSat(USG-MR350)GPS设备。我想从Mac Cocoa应用程序中的设备获取位置数据(纬度和经度),试图运行AMSerialPort示例代码,它正在检测USB设备,但以不可读的格式提供输出,该数据如何转换为可读格式。这是源代码的一部分:

- (void)serialPortReadData:(NSDictionary *)dataDictionary
{
    // this method is called if data arrives
    // @"data" is the actual data, @"serialPort" is the sending port
    AMSerialPort *sendPort = [dataDictionary objectForKey:@"serialPort"];
    NSData *data = [dataDictionary objectForKey:@"data"];
    if ([data length] > 0) {
        NSString *text = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
        [outputTextView insertText:text];
        [text release];
        // continue listening
        [sendPort readDataInBackground];
    } else { // port closed
        [outputTextView insertText:@"port closed\r"];
    }
    [outputTextView setNeedsDisplay:YES];
    [outputTextView displayIfNeeded];
}

最佳答案

我认为Sirf接收器默认为二进制模式,您必须将其置于NMEA mode explicitly中。

10-05 19:03