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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-01-21T13:48:46+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=20031&amp;mode</id>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-01-21T13:48:46+01:00</updated>
<published>2018-01-21T13:48:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202369#p202369</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202369#p202369"/>
<title type="html"><![CDATA[Re: podpowiedz gdzie popełniłem błąd w kodzie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202369#p202369"><![CDATA[
<div class="quotetitle">xentis napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent">W sumie autor wątku tak właśnie robi (przynajmniej tak to wygląda).<br /></div> być może, ale samo nazewnictwo: <div class="quotetitle">matekogon napisał(a):</div><div class="quotecontent"><br />wsk1 zawiera moja_nazwa<br /></div> nasuwa podejrzenie, że autor albo z przyzwyczajenia źle nazywa to co przechowuje wskaźnik, albo do końca nie wie jak wskaźniki działają. Wskaźnik może pokazywać na daną moja_nazwa a nie ją zawierać. Wiem że to może czepialstwo ale z drugiej strony to forum przeglądają również początkujący którzy niekiedy posty innych traktują jako konkretne przykłady więc błędne nazewnictwo niepotrzebnie utrwala błędne pojęcia.</div><br />Niewątpliwie komentarze nie są adekwatne do tego, co kod faktycznie robi i bardzo dobrze, że na to zwróciłeś uwagę. Nie było moim zamiarem w jakiś sposób zdyskredytować Twojej odpowiedzi. Starałem się po prostu wskazać możliwe przyczyny nieprawidłowego działania kodu. Potraktowałem to jako uzupełnienie Twojej odpowiedzi, a nie jako jej krytykę <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Mam wrażenie, że chyba trochę źle to odebrałeś <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=14165">andrews</a> — 21 sty 2018, o 13:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matekogon]]></name></author>
<updated>2018-01-21T12:13:55+01:00</updated>
<published>2018-01-21T12:13:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202361#p202361</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202361#p202361"/>
<title type="html"><![CDATA[Re: podpowiedz gdzie popełniłem błąd w kodzie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202361#p202361"><![CDATA[
<div class="quotetitle">xentis napisał(a):</div><div class="quotecontent"><br />że autor albo z przyzwyczajenia źle nazywa to co przechowuje wskaźnik, albo do końca nie wie jak wskaźniki działają.<br /></div>  <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1380">matekogon</a> — 21 sty 2018, o 12:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2018-01-21T12:00:41+01:00</updated>
<published>2018-01-21T12:00:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202357#p202357</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202357#p202357"/>
<title type="html"><![CDATA[Re: podpowiedz gdzie popełniłem błąd w kodzie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202357#p202357"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />W sumie autor wątku tak właśnie robi (przynajmniej tak to wygląda).<br /></div> być może, ale samo nazewnictwo: <div class="quotetitle">matekogon napisał(a):</div><div class="quotecontent"><br />wsk1 zawiera moja_nazwa<br /></div> nasuwa podejrzenie, że autor albo z przyzwyczajenia źle nazywa to co przechowuje wskaźnik, albo do końca nie wie jak wskaźniki działają. Wskaźnik może pokazywać na daną moja_nazwa a nie ją zawierać. Wiem że to może czepialstwo ale z drugiej strony to forum przeglądają również początkujący którzy niekiedy posty innych traktują jako konkretne przykłady więc błędne nazewnictwo niepotrzebnie utrwala błędne pojęcia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 21 sty 2018, o 12:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matekogon]]></name></author>
<updated>2018-01-21T11:51:17+01:00</updated>
<published>2018-01-21T11:51:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202356#p202356</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202356#p202356"/>
<title type="html"><![CDATA[Re: podpowiedz gdzie popełniłem błąd w kodzie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202356#p202356"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />[quote=&quot;xentis&quot;<br />Moim zdaniem problemem może być czas życia zmiennej wskazywanej przez wskaźnik <strong><em>reszta</em></strong>. Istnieje prawdopodobieństwo, że w momencie wysyłania:[syntax=c]pakiet_str(&quot;+SAVETRANS:&quot;,konfiguracja.savetranslink);// funkcja która wysyła dane  jednak nie wysyła mi tego co powinno<br />uart_puts(konfiguracja.savetranslink);// podejrzałem  sobie co się znajduje w tej zmiennej i nie ma tam moja_nazwa[/syntax]zmienna wskazywana przez <strong><em>reszta</em></strong> już nie istnieje (np. była zadeklarowana jako zmienna lokalna i uległa degradacji po zakończeniu funkcji). Autor wątku przedstawił zbyt mało kodu, aby to można było ocenić.<br /><br />Inną przyczyną może być to, że od momentu przypisania wskaźnika do zmiennej <strong><em>konfiguracja.savetranslink</em></strong> do momentu wysłania (<strong><em>pakiet_str(&quot;+SAVETRANS:&quot;,konfiguracja.savetranslink);</em></strong>) zawartość ciągu, na który wskazuje <strong><em>konfiguracja.savetranslink</em></strong>, została zmieniona. Ponownie dodam, że autor przedstawił zbyt mało informacji, aby jednoznacznie zdiagnozować problem.<br /></div><br /><br />Kolego  masz rację teraz sobie to sprawdziłem  i między wysłaniem komendy AT a wysłaniem AVRGET wysyłane sa również inne komendy a że &quot;reszta&quot; jest lokalna więc jest podmieniana  <img src="https://forum.atnel.pl/images/smilies/icon_eek.gif" alt=":shock:" title="Zaszokowany" />  <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" /> <br /><br />Czy jedynym rozwiązaniem jest napisanie funkcji która będzie mi kopiowała znak po znaku do tablicy aby nie stracić zawartości w postaci ciągu znaków  &quot;moja_nazwa&quot;?<br /><br />Moje założenie jest takie wysyłam komendę z ciągiem znaków &quot;moja nazwa&quot;  i chce ja przechowywać w strukturze<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1380">matekogon</a> — 21 sty 2018, o 11:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-01-21T10:25:15+01:00</updated>
<published>2018-01-21T10:25:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202351#p202351</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202351#p202351"/>
<title type="html"><![CDATA[Re: podpowiedz gdzie popełniłem błąd w kodzie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202351#p202351"><![CDATA[
<div class="quotetitle">xentis napisał(a):</div><div class="quotecontent"><br />Więc najpierw musisz utworzyć zmienną, która będzie zawierała coś co nazywasz &quot;moja nazwa&quot; a dopiero możesz we wskaźniku umieścić adres pamięci pod którym jest zapisany ww coś &quot;moja_nazwa&quot;<br /></div><br />W sumie autor wątku tak właśnie robi (przynajmniej tak to wygląda). Rozumiem to tak, że zmienna <strong><em>reszta</em></strong> jest wskaźnikiem na ciąg znaków odebranej komendy AT. Funkcja <strong><em>strtok()</em></strong> zwraca adres początku podciągu &quot;moja_nazwa&quot;, który to adres zostaje przypisany do elementu struktury <strong><em>konfiguracja.savetranslink</em></strong> (która, jak się domyślam, jest zdefiniowna jako globalna) i odbywa się to prawidłowo skoro:[syntax=c]uart_puts(wsk1);// wsk1 nadal zawiera moja_nazwa[/syntax]<br />Moim zdaniem problemem może być czas życia zmiennej wskazywanej przez wskaźnik <strong><em>reszta</em></strong>. Istnieje prawdopodobieństwo, że w momencie wysyłania:[syntax=c]pakiet_str(&quot;+SAVETRANS:&quot;,konfiguracja.savetranslink);// funkcja która wysyła dane  jednak nie wysyła mi tego co powinno<br />uart_puts(konfiguracja.savetranslink);// podejrzałem  sobie co się znajduje w tej zmiennej i nie ma tam moja_nazwa[/syntax]zmienna wskazywana przez <strong><em>reszta</em></strong> już nie istnieje (np. była zadeklarowana jako zmienna lokalna i uległa degradacji po zakończeniu funkcji). Autor wątku przedstawił zbyt mało kodu, aby to można było ocenić.<br /><br />Inną przyczyną może być to, że od momentu przypisania wskaźnika do zmiennej <strong><em>konfiguracja.savetranslink</em></strong> do momentu wysłania (<strong><em>pakiet_str(&quot;+SAVETRANS:&quot;,konfiguracja.savetranslink);</em></strong>) zawartość ciągu, na który wskazuje <strong><em>konfiguracja.savetranslink</em></strong>, została zmieniona. Ponownie dodam, że autor przedstawił zbyt mało informacji, aby jednoznacznie zdiagnozować problem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 21 sty 2018, o 10:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2018-01-20T21:17:22+01:00</updated>
<published>2018-01-20T21:17:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202325#p202325</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202325#p202325"/>
<title type="html"><![CDATA[Re: podpowiedz gdzie popełniłem błąd w kodzie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202325#p202325"><![CDATA[
Ale wskaźnik nie może zawierać &quot;moja_nazwa&quot; ponieważ jest wskaźnikiem i może zawierać jedynie adres pamięci w którym znajdować się może &quot;moja_nazwa&quot;<br />Więc najpierw musisz utworzyć zmienną, która będzie zawierała coś co nazywasz &quot;moja nazwa&quot; a dopiero możesz we wskaźniku umieścić adres pamięci pod którym jest zapisany ww coś &quot;moja_nazwa&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 20 sty 2018, o 21:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matekogon]]></name></author>
<updated>2018-01-20T19:20:36+01:00</updated>
<published>2018-01-20T19:20:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202316#p202316</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202316#p202316"/>
<title type="html"><![CDATA[podpowiedz gdzie popełniłem błąd w kodzie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20031&amp;p=202316#p202316"><![CDATA[
Koledzy  podpowie ktoś czy w dobrym miejscu namierzyłem błąd?  Prawdopodobnie wyłożyłem się na wskaźnikach <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />To moja struktura <br />[syntax=c]typedef struct{<br /><br />char *savetranslink;//ustawienie danych do programowania<br /><br />}konfig;<br /><br />konfig konfiguracja;[/syntax]<br /><br />A tu wysyłam  dane po udp<br /><br />[syntax=c]//Wysyłam ciąg AT+SAVETRANS:moja_nazwa <br />if(strncmp(&quot;AT+SAVETRANS&quot;, reszta,12)==0){// ustawienie savetranslink<br />        char *wsk1;<br />wsk1=strtok(reszta,&quot;:&quot;);<br />wsk1=strtok(NULL,&quot;:&quot;);// wsk1 zawiera moja_nazwa<br />konfiguracja.savetranslink=wsk1;// chyba tu jest błąd<br />uart_puts(wsk1);// wsk1 nadal zawiera moja_nazwa <br /><br />}[/syntax]<br />Następnie wysyłam kolejne polecenie <br />[syntax=c]// wysyłam polecenie odczytu<br />if(strncmp(&quot;AVRGET&quot;, reszta,6)==0){// odczyt ustawien avr<br />pakiet_str(&quot;+SAVETRANS:&quot;,konfiguracja.savetranslink);// funkcja która wysyła dane  jednak nie wysyła mi tego co powinno <br />uart_puts(konfiguracja.savetranslink);// podejrzałem  sobie co się znajduje w tej zmiennej i nie ma tam moja_nazwa <br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1380">matekogon</a> — 20 sty 2018, o 19:20</p><hr />
]]></content>
</entry>
</feed>