<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=16731&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-11-05T17:53:09+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=16731&amp;mode</id>
<entry>
<author><name><![CDATA[wojtekr51]]></name></author>
<updated>2016-11-05T17:53:09+01:00</updated>
<published>2016-11-05T17:53:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173847#p173847</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173847#p173847"/>
<title type="html"><![CDATA[Re: konwersja string na int i odwrotnie - wskaźniki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173847#p173847"><![CDATA[
A jak twój program reaguje, gdy pole zawierające czas jest puste (gdy GPS nie złapie jeszcze sygnału)? Gdy ja walczyłem z ramkami protokołu NMEA to stworzyłem sobie swoją prostą funkcję do dzielenia ramki na pola danych. Nie korzystałem z strtok(), bo z jej pomocą nie potrafiłem rozpoznać pustego pola danych.<br />Np. taka ramka w której pole czasu UTC jest puste:<br />$GPGGA,,,,,,,08,1.02,115.1,M,-2.4,M,,0000*43<br />Gdyby między przecinkami była choćby spacja to strtok() działał ok, ale tu między przecinkami nic nie ma. Czy Tobie udało się już to obsłużyć tą funkcją?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1760">wojtekr51</a> — 5 lis 2016, o 17:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[avrfun]]></name></author>
<updated>2016-11-05T17:48:32+01:00</updated>
<published>2016-11-05T17:48:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173846#p173846</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173846#p173846"/>
<title type="html"><![CDATA[Re: konwersja string na int i odwrotnie - wskaźniki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173846#p173846"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Dziękuję Wam koledzy serdecznie! Nie spodziewałem się tak szybkiej odpowiedzi szczerze mówiąc - i to jeszcze tak pomocnej  Narazie ruszyło z miejsca, mam już czas w zmiennej integer  Pozdrawiam!<br /></div><br />Jak pomogliśmy kliknij magiczny przycisk &quot;pomógł&quot;  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9310">avrfun</a> — 5 lis 2016, o 17:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[dabek3456]]></name></author>
<updated>2016-11-05T17:30:44+01:00</updated>
<published>2016-11-05T17:30:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173843#p173843</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173843#p173843"/>
<title type="html"><![CDATA[Re: konwersja string na int i odwrotnie - wskaźniki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173843#p173843"><![CDATA[
Dziękuję Wam koledzy serdecznie! Nie spodziewałem się tak szybkiej odpowiedzi szczerze mówiąc - i to jeszcze tak pomocnej <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> Narazie ruszyło z miejsca, mam już czas w zmiennej integer <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Pozdrawiam!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6620">dabek3456</a> — 5 lis 2016, o 17:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojtekr51]]></name></author>
<updated>2016-11-05T17:11:49+01:00</updated>
<published>2016-11-05T17:11:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173839#p173839</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173839#p173839"/>
<title type="html"><![CDATA[Re: konwersja string na int i odwrotnie - wskaźniki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173839#p173839"><![CDATA[
Jeżeli chciałbyś wrzucić godziny, minuty, sekundy, setne do oddzielnych zmiennych to można to zrobić w taki sposób:<br />[syntax=c]/*     1 UTC <br /> * h h m m s s . s s<br /> * fild idx:0 1 2 3 4 5 6 7 8<br /> */<br />UTC_hund_sec = atoi(fild + 7);<br />fild&#91;6&#93; = '\0';<br />UTC_sec = atoi(fild + 4);<br />fild&#91;4&#93; = '\0';<br />UTC_min = atoi(fild + 2);<br />fild&#91;2&#93; = '\0';<br />UTC_hour = atoi(fild);[/syntax]<br />fild - wskaźnik na string zawierający pole danych UTC (do pierwszego przecinka)<br />Zamienianie na inty zaczynam od końca. Dzięki temu nie trzeba powielać stringa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1760">wojtekr51</a> — 5 lis 2016, o 17:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[avrfun]]></name></author>
<updated>2016-11-05T16:44:40+01:00</updated>
<published>2016-11-05T16:44:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173833#p173833</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173833#p173833"/>
<title type="html"><![CDATA[Re: konwersja string na int i odwrotnie - wskaźniki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173833#p173833"><![CDATA[
Witaj!<br /><br />Proponuję Ci takie rozwiązanie. Przeczytaj pozyskany string czasu i daty znak po znaku i zrób tak jak ja (gotowiec) <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> . Działa.<br />[syntax=c]char hh&#91;3&#93;, mm&#91;3&#93;, ss&#91;3&#93;;<br />char DD&#91;3&#93;, MM&#91;3&#93;, YY&#91;3&#93;;<br />static char dane_godziny&#91;6&#93;;<br />static char dane_daty&#91;6&#93;;<br /><br />for(uint8_t i=0;i&lt;6;i++){<br />    dane_godziny&#91;i&#93; = *(time++);<br />    }<br /><br />    hh&#91;0&#93; = dane_godziny&#91;0&#93;;<br />    hh&#91;1&#93; = dane_godziny&#91;1&#93;;<br />    hh&#91;2&#93; = 0;<br /><br />    mm&#91;0&#93; = dane_godziny&#91;2&#93;;<br />    mm&#91;1&#93; = dane_godziny&#91;3&#93;;<br />    mm&#91;2&#93; = 0;<br /><br />    ss&#91;0&#93; = dane_godziny&#91;4&#93;;<br />    ss&#91;1&#93; = dane_godziny&#91;5&#93;;<br />    ss&#91;2&#93; = 0;<br /><br /> for(uint8_t i=0;i&lt;6;i++){<br />    dane_daty&#91;i&#93; = *(data++);<br />    }<br /><br />    DD&#91;0&#93; = dane_daty&#91;0&#93;;<br />    DD&#91;1&#93; = dane_daty&#91;1&#93;;<br />    DD&#91;2&#93; = 0;<br /><br />    MM&#91;0&#93; = dane_daty&#91;2&#93;;<br />    MM&#91;1&#93; = dane_daty&#91;3&#93;;<br />    MM&#91;2&#93; = 0;<br /><br />    YY&#91;0&#93; = dane_daty&#91;4&#93;;<br />    YY&#91;1&#93; = dane_daty&#91;5&#93;;<br />    YY&#91;2&#93; = 0;<br /><br />    godzina = atoi(hh);<br />    dzien = atoi(DD);<br />    godzina = godzina + 2;<br />    if (24 == godzina) godzina = 0, dzien = dzien + 1;<br />    if (25 == godzina) godzina = 1;<br />    if (26 == godzina) godzina = 2;<br />    //itoa(godzina,hh,10);<br />    minuta = atoi(mm);<br />    sekunda = atoi(ss);<br /><br />    rok = atoi(YY);<br />    rok = rok + 2000;<br />    miesiac = atoi(MM);<br /><br /> }[/syntax]<br />Pozdrawiam<br />avrfun<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9310">avrfun</a> — 5 lis 2016, o 16:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[dabek3456]]></name></author>
<updated>2016-11-05T16:23:09+01:00</updated>
<published>2016-11-05T16:23:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173828#p173828</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173828#p173828"/>
<title type="html"><![CDATA[konwersja string na int i odwrotnie - wskaźniki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16731&amp;p=173828#p173828"><![CDATA[
Witam wszystkich! Już od kilku dni męczę się z problemem konwersji string -&gt; int i odwrotnie. Poniżej zamieszczam kod, który do tej pory napisałem (odczyt po uarcie ramek z gps). Udaje mi się odebrać ramki i tak dalej, ale chciałbym też np odebrany fragment dotyczący czasu &quot;152108&quot; (po dwie cyfry godzina-minuta-sekunda) zapisany pod wsk zamienić na int, później na przykład podzielić to przez 10000 i otrzymać samą godzinę. Może źle podchodzę do tematu? Proszę o pomoc..<br />[syntax=c]void analizuj_dane_rs232( char * buf)<br />{<br />  char *wsk;<br />        char *czas;<br />  wsk = strtok( buf, &quot;,&quot; ); //funkcja przekazuje do wskaznika pierwsza czesc stringa (pierwszy token)<br />  if( !strcmp(wsk,&quot;$GPGGA&quot;) )<br />  {<br />    rf12_txdata(&quot;Wykryto ramke $GPGGA! \r\n&quot;,0);<br /><br />    czas = strtok( NULL, &quot;.&quot; );<br />    int data = atoi(wsk);<br />    data=data/10000;<br /><br />    rf12_txdata(&quot;Czas UTC: &quot;,0);<br />  rf12_txdata(czas,0); // &quot;152107&quot;<br />    rf12_txdata(&quot;\r\n&quot;,0);<br />                }<br />}[/syntax]<br />Dodam, że korzystam do odbioru po uarcie bibliotek z GB.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6620">dabek3456</a> — 5 lis 2016, o 16:23</p><hr />
]]></content>
</entry>
</feed>