Помогите со строковыми переменными
- Войдите на сайт для отправки комментариев
Втр, 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 типа...
Заранее благодарен...
char GPSDate[32]; //Задана переменная void setup() { Serial.begin(9600); ss.begin(GPSBaud); } void loop() { printDate(gps.date, GPSDate); //вызываем функцию Serial.print ("GPSDate "); //выводим в терминал Serial.print (GPSDate); //выводим в терминал } char printDate(TinyGPSDate &d, char* GPSDate1) //сама функция { 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); } smartDelay(0);Я извиняюсь, а у вас этот пассаж компилируется ? Как компилятор реагирует на строку 16, 20 ?
NeiroN
СПАСИБО за столь оперативную помощь!!!
Код работает!!!
УРА!!!
Я извиняюсь, а у вас этот пассаж компилируется ? Как компилятор реагирует на строку 16, 20 ?
sva1509
Компилятор все пропускает...
Код грузиться...
16 и 20 строки взял из примера библиотеки...
Честно говоря, как работает 16 пока не совсем понимаю ;).
20 строка получает из библиотеки признак достоверности данных, выдаваемый gps...
И если данные достоверны, выводиться, если нет "******" печатает.....
Еще раз Спасибо!!!!!