Как читать данные NMEA с устройства USB GPS через приложение какао - PullRequest
2 голосов
/ 27 февраля 2012

Я использую USB GlobalSat (USG-MR350) GPS-устройство. Я хочу получить данные о местоположении (широту и долготу) с устройства в моем приложении mac macoa. Попытался запустить пример кода 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];
}

Ответы [ 3 ]

0 голосов
/ 28 февраля 2012

Попробуйте использовать возможность NSData печатать себя в байтах с помощью метода description .

[outputTextView insertText: [описание данных]];

0 голосов
/ 18 июля 2012

Я не вижу, вы проверяете настройки порта.

Настройки по умолчанию для NMEA через последовательный порт - speed:4800stopbit:1 parity:none.

Проверьте это на устройстве.

0 голосов
/ 27 февраля 2012

Я думаю, что приемник Sirf по умолчанию находится в двоичном режиме, и что вы должны явно установить его в режим NMEA .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...