<?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=21258&amp;mode" />

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=21258&amp;mode</id>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2018-09-05T22:22:53+01:00</updated>
<published>2018-09-05T22:22:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211450#p211450</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211450#p211450"/>
<title type="html"><![CDATA[Re: Problem z funkcją strtok()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211450#p211450"><![CDATA[
No widzisz dlatego dałem Ci przykład swojej funkcji gdzie do wskaźnika były zapisywane poszczególne tokeny...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4651">mczarny</a> — 5 wrz 2018, o 22:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adercod4]]></name></author>
<updated>2018-09-05T22:20:58+01:00</updated>
<published>2018-09-05T22:20:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211449#p211449</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211449#p211449"/>
<title type="html"><![CDATA[Re: Problem z funkcją strtok()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211449#p211449"><![CDATA[
Problem rozwiązany. Babol ze zmiennymi.<br /><br />Było:<br />[syntax=c]char * weekday, month, day, tm, year;[/syntax]<br /><br />Powinno być:<br />[syntax=c]char * weekday, * month, * day, * tm, * year;[/syntax]<br /><br />Kilka gwiazdek za mało a ile nerwów straconych. Dzięki za pomoc i zainteresowanie!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14878">adercod4</a> — 5 wrz 2018, o 22:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2018-09-05T22:14:16+01:00</updated>
<published>2018-09-05T22:14:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211448#p211448</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211448#p211448"/>
<title type="html"><![CDATA[Re: Problem z funkcją strtok()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211448#p211448"><![CDATA[
a nie powinieneś tego hex-a zamienić na dziesiętne?<br />Miesiąc jest przesyłany liczbą czy nazwą np:&quot;maj&quot;?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4651">mczarny</a> — 5 wrz 2018, o 22:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adercod4]]></name></author>
<updated>2018-09-05T21:58:11+01:00</updated>
<published>2018-09-05T21:58:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211446#p211446</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211446#p211446"/>
<title type="html"><![CDATA[Re: Problem z funkcją strtok()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211446#p211446"><![CDATA[
Funkcja strncasecmp porównuje pierwszych n bajtów obu stringów i w zależności od wyniku zwraca rezultat. Tak czy siak, nic to nie zmieniło. <br /><br />Tak wygląda kod funkcji.<br />[syntax=c]void parse_rs232 ( char * pbuf ){<br />// +CIPSNTPTIME:Tue Sep 04 21:45:50 2018<br />if( esp8266.at_cmd_status == _at_ntp ){<br /><br />uart_puts( &quot;\r\n&quot; );<br />uart_puts( pbuf );<br />uart_puts( &quot;\r\n&quot; );<br /><br />if( !strncasecmp( pbuf, &quot;+CIPSNTPTIME:&quot;, 13) ) {<br /><br />weekday = strtok( pbuf, &quot;:&quot;);<br />weekday = strtok( NULL, &quot; &quot;);<br />month = strtok( NULL, &quot; &quot;);<br />day = strtok( NULL, &quot; &quot;);<br />tm = strtok( NULL, &quot; &quot;);<br />year = strtok( NULL, &quot; &quot;);<br /><br />uart_puts( weekday );<br />uart_puts( &quot;\r\n&quot; );<br /><br />esp8266.at_cmd_status = _idle;<br />}<br /><br />}<br />}[/syntax]<br /><br />A odpowiedz w terminalu to:<br />AT+CIPSNTPTIME?<br /><br />+CIPSNTPTIME:Wed Sep 05 22:53:47 2018<br />Wed<br /><br />Jest wysłane zapytanie do modułu, nadlatuje string w całości i pierwsze dwa strtok działają, jak zamiast weekday na terminal wyrzucę month to dostaję odpowiedz &quot;.8888&quot; a w zasadzie w hexie 01 B8 B8 B8 B8.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14878">adercod4</a> — 5 wrz 2018, o 21:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2018-09-05T21:44:05+01:00</updated>
<published>2018-09-05T21:44:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211445#p211445</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211445#p211445"/>
<title type="html"><![CDATA[Re: Problem z funkcją strtok()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211445#p211445"><![CDATA[
No tak, ale w pierwszym wywołaniu masz <br />[syntax=c]weekday = strtok( pbuf, &quot;:&quot;);[/syntax]<br />czyli tu chyba powinno być<br />[syntax=c]if( !strncasecmp( pbuf, &quot;+CIPSNTPTIME&quot;, 12) )[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4651">mczarny</a> — 5 wrz 2018, o 21:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adercod4]]></name></author>
<updated>2018-09-05T21:39:54+01:00</updated>
<published>2018-09-05T21:39:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211443#p211443</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211443#p211443"/>
<title type="html"><![CDATA[Re: Problem z funkcją strtok()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211443#p211443"><![CDATA[
Tak, wysyła w hexie 20 czyli spację.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14878">adercod4</a> — 5 wrz 2018, o 21:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2018-09-05T21:31:04+01:00</updated>
<published>2018-09-05T21:31:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211441#p211441</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211441#p211441"/>
<title type="html"><![CDATA[Re: Problem z funkcją strtok()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211441#p211441"><![CDATA[
Możesz podejrzeć w terminalu jak wygląda nadlatujący string? Na pewno tokeny są oddzielone spacją?<br />Moja funkcja parsująca dane temperatury<br />[syntax=c]char *wsk;<br /><br />       if(!strncasecmp(uart1_buf,&quot;AT+temp&quot;,7)){<br /><br />       wsk = strtok(uart1_buf,&quot; &quot;);<br />       wsk = strtok(NULL,&quot;,&quot;);<br />       subzero1 = atoi(wsk);<br /><br />       wsk = strtok(NULL,&quot;,&quot;);<br />       cel1 = atoi(wsk);<br /><br />       wsk= strtok(NULL,&quot;,&quot;);<br />       cel_fract_bits1 = atoi(wsk);[/syntax]<br />porównaj<br />u mnie tokeny są oddzielone przecinkiem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4651">mczarny</a> — 5 wrz 2018, o 21:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adercod4]]></name></author>
<updated>2018-09-05T21:22:53+01:00</updated>
<published>2018-09-05T21:22:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211439#p211439</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211439#p211439"/>
<title type="html"><![CDATA[Problem z funkcją strtok()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21258&amp;p=211439#p211439"><![CDATA[
Witam serdecznie. Mam problem z funkcją strtok(). Parsuje sobię dane z uarta i po otrzymaniu stringa funkcja mi go niszczy. Wiem że strtok w miejsce separatora wstawia zero ale nie w tym problem. Kawałek funkcji parsującej:<br /><br />[syntax=c]// +CIPSNTPTIME:Tue Sep 04 21:45:50 2018<br />if( esp8266.at_cmd_status == _at_ntp ){<br />if( !strncasecmp( pbuf, &quot;+CIPSNTPTIME:&quot;, 13) ) {<br />weekday = strtok( pbuf, &quot;:&quot;);<br />weekday = strtok( NULL, &quot; &quot;);<br />month = strtok( NULL, &quot; &quot;);<br />day = strtok( NULL, &quot; &quot;);<br />tm = strtok( NULL, &quot; &quot;);<br />year = strtok( NULL, &quot; &quot;);<br /><br />esp8266.at_cmd_status = _idle;<br />}<br />}[/syntax]<br /><br />Nie zjedzcie mnie proszę za esp <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ale nie z nim problem tylko w sumie z samym parsowaniem. Dostaje z modułu takiego stringa z serwera ntp, no i parsowanie działa do drugiego wywołania strtok. Po wyrzuceniu weekday na uart w terminalu dostaję &quot;Tue&quot; a gdy wyrzucam month to dostaję np &quot;.8888&quot;. String nadlatuje w całości na pewno i teraz nie wiem gdzie poległem... Jakby ktoś mógł mnie naprowadzić byłbym bardzo wdzięczny. <br /><br />Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14878">adercod4</a> — 5 wrz 2018, o 21:22</p><hr />
]]></content>
</entry>
</feed>