Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / сравнение строк по адресам / 3 сообщений из 3, страница 1 из 1
27.03.2014, 11:36
    #38597859
MsDatabaseru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение строк по адресам
задача разбора GPS данных, нмеа строк
данный код идентифицирует строки типа GP ...
передаваемые в переменной _term

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
// NMEA message identifiers ////////////////////////////////////////////////////
//
const char AP_GPS_NMEA::_gprmc_string[] PROGMEM = "GPRMC";
const char AP_GPS_NMEA::_gpgga_string[] PROGMEM = "GPGGA";
const char AP_GPS_NMEA::_gpvtg_string[] PROGMEM = "GPVTG";

 ... 
if (!strcmp_P(_term, _gprmc_string)) {
            _sentence_type = _GPS_SENTENCE_GPRMC;
        } else if (!strcmp_P(_term, _gpgga_string)) {
            _sentence_type = _GPS_SENTENCE_GPGGA;
        } else if (!strcmp_P(_term, _gpvtg_string)) {
            _sentence_type = _GPS_SENTENCE_GPVTG;



если использовать глонасс приемник
то в зависимости от вида захвата могут быть строки как с заголовком GP так и GN
тоесть нужно игнорировать начало строки и идентифицировать символы 3-5

посмотрите пожалуйста так будет правильно?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
const char AP_GPS_NMEA::_gprmc_string[] PROGMEM = "RMC";
const char AP_GPS_NMEA::_gpgga_string[] PROGMEM = "GGA";
const char AP_GPS_NMEA::_gpvtg_string[] PROGMEM = "VTG";

if (!strcmp_P(_term + 2 , _gprmc_string)) {
            _sentence_type = _GPS_SENTENCE_GPRMC;
        } else if (!strcmp_P(_term + 2 , _gpgga_string)) {
            _sentence_type = _GPS_SENTENCE_GPGGA;
        } else if (!strcmp_P(_term + 2, _gpvtg_string)) {
            _sentence_type = _GPS_SENTENCE_GPVTG;



зы. осваиваю с++ по мере сил, но что касается специфичных функций работающих с адресами - тяжко дается
...
Рейтинг: 0 / 0
27.03.2014, 15:13
    #38598195
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение строк по адресам
MsDatabaseru,

да.
...
Рейтинг: 0 / 0
27.03.2014, 15:25
    #38598207
MsDatabaseru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение строк по адресам
Спасибо!
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / сравнение строк по адресам / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]