powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / сравнение строк по адресам
3 сообщений из 3, страница 1 из 1
сравнение строк по адресам
    #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
сравнение строк по адресам
    #38598195
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsDatabaseru,

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


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