• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Konwersja tabel z czasem i dziwny wynik
#1
Witam,
Pobieram czas z modemu SIM800L w formacie RR/MM/DD,gg:mm:ss+04 (nie wiem co to jest to +04 ale nie interesuje mnie to. Stringa z czasem konwertuje do tabeli znaków i następnie poszczególne znaki konwertuję do tabeli znaków uzytecznej dla zapisu czasu do modułu RTC w formacie RRRR, MM, DD, gg, mm, ss.
Następnie kontrolnie wyświetlam tabelę docelową i tu "zonk" bo wyświetla obie czyli 
RRRR, MM, DD, gg, mm, ssRR/MM/DD,gg:mm:ss+04

Kod:
czas = modem.getGSMDateTime(DATE_FULL); //string
  czas.toCharArray(tabelaczasu, 21);
  SerialMon.println(tabelaczasu); //kontrolne wyświetlenie tablicy
  tabelaDS[0] = '2'; //tabelaDS to tablica znaków docelowa
  tabelaDS[1] = '0';
  tabelaDS [2] = tabelaczasu[0];
  tabelaDS [3] = tabelaczasu[1];
  tabelaDS[4] = ',';
  tabelaDS[5] = ' ';
  tabelaDS [6] = tabelaczasu[3];
  tabelaDS [7] = tabelaczasu[4];
  tabelaDS[8] = ',';
  tabelaDS[9] = ' ';
  tabelaDS [10] = tabelaczasu[6];
  tabelaDS [11] = tabelaczasu[7];
  tabelaDS[12] = ',';
  tabelaDS[13] = ' ';
  tabelaDS [14] = tabelaczasu[9];
  tabelaDS [15] = tabelaczasu[10];
  tabelaDS[16] = ',';
  tabelaDS[17] = ' ';
  tabelaDS [18] = tabelaczasu[12];
  tabelaDS [19] = tabelaczasu[13];
  tabelaDS[20] = ',';
  tabelaDS[21] = ' ';
  tabelaDS [22] = tabelaczasu[15];
  tabelaDS [23] = tabelaczasu[16];
  SerialMon.println (tabelaDS); //kontrolne wyświetlenie tablicy i tu pojawia się błąd
 
Wynik jest taki:

Kod:
20/02/12,21:18:12+04
2020, 02, 12, 21, 18, 1220/02/12,21:18:12+04
Co robię źle?
Bo dążę do tego by wynik był:

Kod:
20/02/12,21:18:12+04
2020, 02, 12, 21, 18, 12


Sprzęt to t-call ESP32 z SIM800L, programowanie w Arduino IDE
 
Odpowiedź
#2
+4 strefa czasowa

Wysłane z mojego Neffos Y5s przy użyciu Tapatalka
 
Odpowiedź
#3
Dziwne bo to Polska a karta plusha. Ale nie o tym jest ten wątek.

Już rozwiązałem problem. Na końcu tabeli by tabela wiedziała że się skończyła trzeba dodać określenie końca:

tabelaDS [24] = '\0';
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości