10-01-2020, 23:48
(10-01-2020, 22:39)Jarewa0606 napisał(a): I tak do tej pory nie powiedziałeś ze funkcja zwraca 12:25:40 czyli do sekundy...
W skrócie to będzie tak zmień string-a na tablice char, wyciągnij co trzeba i zmień na init-a lub unit-a...
Powiedziałem na samym początku że odtczytuje uproszczoną wersję godziny co pokazałem w dalszych wpisach Serial.println(rtc.getTimeStr(FORMAT_SHORT));.
FORMAT_SHORT podsunął mi pewien pomysł, odnalazłem w pliku DS1302.cpp taki wpis:
char *output= "xxxxxxxx";
Time t;
t=getTime();
if (t.hour<10)
output[0]=48;
else
output[0]=char((t.hour / 10)+48);
output[1]=char((t.hour % 10)+48);
output[2]=58;
if (t.min<10)
output[3]=48;
else
output[3]=char((t.min / 10)+48);
output[4]=char((t.min % 10)+48);
output[5]=58;
if (format==FORMAT_SHORT)
output[5]=0;
else
i wydedukowałem, że najłatwiej w output[5]=0; zmienić 5 na 2 i tym prostym krokiem rozwiązałem mój problem, z funkcji Serial.println(rtc.getTimeStr(FORMAT_SHORT)); odczytałem godzinę złożoną z 2 cyfr. O użyciu tablic myślałem przed zadaniem pytania na forum i doszedłem do wniosku, że nie będę przeliczał wielu zmiennych więc tablica to trochę przerost formy nad treścią. Dzięki za odpowiedź.
Jest inne pytanie, do jakiej zmiennej mogę przypisać dane z (rtc.getTimeStr(FORMAT_SHORT)). ?