Помогите со строковыми переменными
- Войдите на сайт для отправки комментариев
Втр, 10/02/2015 - 23:53
Доброго времени всем!
прошу помощи...
Вот выдержки из кода:
char GPSDate[32]; //Задана переменная void setup() { Serial.begin(9600); ss.begin(GPSBaud); } void loop() { char GPSDate = printDate(gps.date); //вызываем функцию Serial.print ("GPSDate "); //выводим в терминал Serial.print (GPSDate); //выводим в терминал } char printDate(TinyGPSDate &d) //сама функция { char GPSDate1[32]; if (!d.isValid()) { Serial.print(F("********** ")); } else { sprintf(GPSDate1, "%02d/%02d/%02d ", d.month(), d.day(), d.year()); Serial.print(GPSDate1); Serial.print("\n"); Serial.print("\n"); return (GPSDate1[32]); } smartDelay(0);
Из функции (строка кода 30) получаю в терминал строчку вида 02/10/2015, собственно то что нужно.
Но эта строка мне нужна для дальнейшей обработки в void
loop.
По логике 33 строка возвращает значение в void
loop.
Но 13 строка кода, в терминал уже ничего не шлет..
В чем проблема?
Люди добрые помогите....
Данные получаю из GPS через библиотеку... Аналогичным образом вывожу координаты, но они цифровые float типа...
Заранее благодарен...
Я извиняюсь, а у вас этот пассаж компилируется ? Как компилятор реагирует на строку 16, 20 ?
NeiroN
СПАСИБО за столь оперативную помощь!!!
Код работает!!!
УРА!!!
Я извиняюсь, а у вас этот пассаж компилируется ? Как компилятор реагирует на строку 16, 20 ?
sva1509
Компилятор все пропускает...
Код грузиться...
16 и 20 строки взял из примера библиотеки...
Честно говоря, как работает 16 пока не совсем понимаю ;).
20 строка получает из библиотеки признак достоверности данных, выдаваемый gps...
И если данные достоверны, выводиться, если нет "******" печатает.....
Еще раз Спасибо!!!!!