我正在使用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中。