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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2019-12-19T00:49:21+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=22738&amp;mode</id>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2019-12-19T00:49:21+01:00</updated>
<published>2019-12-19T00:49:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223602#p223602</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223602#p223602"/>
<title type="html"><![CDATA[Re: Struktury tablice indeksy... poległem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223602#p223602"><![CDATA[
Kurcze, jednak jak się dłużej nie korzysta ze struktur i wskaźników to się mózg wysusza <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Pociągnąłem problem najprostszym sposobem przez wskazanie pola struktury i wszystko idealnie działa tak jak oczekiwałem. A przecież już kiedyś korzystałem z tych mechanizmów, ale nie przyszło mi to dziś do głowy, żeby to z indexem połączyć i sprawdzić <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br />@Zealota, fajnie, że zebrałeś te wszystkie sposoby w jednym miejscu, dzięki. Dla mnie to solidna dawka wiedzy do przypomnienia i przetrawienia, a tobie Mirek dziękuje za praktycznie gotowe rozwiązanie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 19 gru 2019, o 00:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-12-18T23:03:41+01:00</updated>
<published>2019-12-18T23:03:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223595#p223595</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223595#p223595"/>
<title type="html"><![CDATA[Re: Struktury tablice indeksy... poległem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223595#p223595"><![CDATA[
zamiast<br /><br />[syntax=c]*buf3 &#91;x&#93; = *buf1 &#91;x&#93; &amp; *buf2 &#91;x&#93;;[/syntax]<br /><br /><br />może jednak tak?<br /><br />[syntax=c]buf&#91;3&#93;.a = buf&#91;1&#93;.a &amp; buf&#91;2&#93;.a[/syntax]<br /><br /><img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Przecież teraz twoje tablice zawierają elementy typu strukturalnego a nie pojedyncze elementy typu uint8_t<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 gru 2019, o 23:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zealota]]></name></author>
<updated>2019-12-18T22:31:48+01:00</updated>
<published>2019-12-18T22:31:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223594#p223594</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223594#p223594"/>
<title type="html"><![CDATA[Re: Struktury tablice indeksy... poległem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223594#p223594"><![CDATA[
<div class="quotetitle">SylwekK napisał(a):</div><div class="quotecontent"><br />Jak ustawić wskaźnik (indeks wg x) na kolejne dwa (w tym przypadku) elementy struktury?<br /></div><br />[syntax=c]wsknaStrukture = (TABBUF * )tablica + 0;// Wskaźnik na pierwszą strukturę w tablicy<br />wsknaStrukture = (TABBUF * )tablica + 1;// Wskaźnik na drugą strukturę w tablicy<br />wsknaStrukture = (TABBUF * )tablica + 4;// Wskaźnik na ostatnią strukturę w tablicy<br />// Rzutowanie często jest potrzebne w &quot;arytmetyce wskaźników&quot;<br /><br />TABBUF aTerazWartosc = *wsknaStrukture;// Odpowiada tablica&#91;0&#93;<br />aTerazWartosc = *(wsknaStrukture + 1);// Odpowiada tablica&#91;1&#93;<br />aTerazWartosc = *(wsknaStrukture + 2);// Odpowiada tablica&#91;2&#93;<br />aTerazWartosc = *(wsknaStrukture + 4);// Odpowiada tablica&#91;4&#93;<br /><br />uint8_t temp2 = (*(wsknaStrukture + 4)).a;// A tu za pomocą struktury  dostajemy się do pola struktury<br />temp2 = ((TABBUF * )tablica + 4)-&gt;b;                // Znowu tu za pomocą wskaźnika na strukture dostajemy sie do pola struktury[/syntax]<br /><br />Może o to Ci chodzi? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=16487">Zealota</a> — 18 gru 2019, o 22:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2019-12-18T21:28:08+01:00</updated>
<published>2019-12-18T21:28:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223593#p223593</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223593#p223593"/>
<title type="html"><![CDATA[Re: Struktury tablice indeksy... poległem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223593#p223593"><![CDATA[
Dzięki za zainteresowanie.<br />No jest miszmasz, bo właśnie taką operację bitową chciałem przeprowadzić i łudziłem się, że kompilator sobie z tym poradzi tak jak z danymi w zwykłych tablicach <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Myślałem też o jakimś przepisaniu struktury do zmiennej uint16_t (na których już bez problemu operacje bitowe można przeprowadzić), bo w sumie mam tam dwa bajty, ale też coś zgrzytało.<br />To nie jest tak, że w ogóle nie mam pojęcia o strukturach, coś tam wiem i próbowałem również tego sposobu:<br />[syntax=c]wsknaStrukture-&gt;a = wsknaStrukture-&gt;a &amp; wsknaStrukture-&gt;b;  //operacje bitowe na polach struktury[/syntax]<br />tylko brakuje mi tu drobnego szczegółu - indeksowania. Cokolwiek próbowałem robić typu buf1[x] albo buf1+x, w najróżniejszych konfiguracjach z gwiazdkami jak i bez gwiazdek to kompilator wrzeszczał, że źle.<br />Jak ustawić wskaźnik (indeks wg x) na kolejne dwa (w tym przypadku) elementy struktury?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 18 gru 2019, o 21:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zealota]]></name></author>
<updated>2019-12-18T20:13:15+01:00</updated>
<published>2019-12-18T20:13:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223592#p223592</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223592#p223592"/>
<title type="html"><![CDATA[Re: Struktury tablice indeksy... poległem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223592#p223592"><![CDATA[
Jakiś straszny miszmasz <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Co to jest to:<br />[syntax=c]*buf3 &#91;x&#93; = *buf1 &#91;x&#93; &amp; *buf2 &#91;x&#93;;[/syntax]<br />Przecież operator &amp; służy do operowania na bitach nie można robić &quot;iloczynu&quot; na samych strukturach. Struktura to owszem miejsce w pamięci, ale to typ złożony, a nie prosty.<br />Do pól struktur odnosisz się poprzez . lub -&gt; zatem, można również &quot;przepisywać&quot; dane ze struktury do struktury.<br /><br />[syntax=c]uint8_t  temp = buf&#91;1&#93;.a;<br />        buf&#91;0&#93;.a = buf&#91;0&#93;.a &amp; buf&#91;1&#93;.a;     // To wszystko to zmienne typu uint8_t<br /><br />TABBUF tablica&#91;5&#93; = { {1,2},{3,4},{0,0},{1,1},{2,2} };   // Tablica struktur, od razu zainicjowana<br /><br />TABBUF pojedynczaStrukrura = {1,2};<br />pojedynczaStrukrura = tablica&#91;0&#93;;             // Można przypisać strukturę do struktury ale TABLICY do tablicy w C nie można<br /><br />TABBUF * wsknaStrukture = &amp;pojedynczaStrukrura; // Definiujemy wskaźnik na strukturę<br /><br />wsknaStrukture-&gt;a = wsknaStrukture-&gt;a &amp; wsknaStrukture-&gt;b;  //operacje bitowe na polach struktury<br />        <br />        uint8_t * wskNaUINT = &amp;tablica&#91;2&#93;.a;// A tu znadujemy wskaźnik do pola wewnątrz struktury[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=16487">Zealota</a> — 18 gru 2019, o 20:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2019-12-18T19:44:50+01:00</updated>
<published>2019-12-18T19:44:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223589#p223589</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223589#p223589"/>
<title type="html"><![CDATA[Struktury tablice indeksy... poległem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22738&amp;p=223589#p223589"><![CDATA[
Nie mam już siły kombinować...<br />Nigdy wcześniej nie było mi to (aż do teraz) potrzebne i mimo, że mógłbym sprawę po prostu olać i zrobić to innym sposobem to jednak zawziąłem się aby podrążyć temat na przyszłość - może się jeszcze przyda <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Mam strukturę i zdefiniowane 3 bufory<br /><br />[syntax=c]typedef struct {<br />  uint8_t a;<br />  uint8_t b;<br />} TABBUF;<br /><br />TABBUF buf1 &#91;20&#93;, buf2 &#91;20&#93;, buf3 &#91;20&#93;;[/syntax]<br /><br />Jak mogę najprościej zrobić w tym przypadku operacje na buforach w stylu normalnych działań na tablicach jak, np.<br /><br />[syntax=c]uint8_t tab1 &#91;20&#93;, tab2 &#91;20&#93;, tab3 &#91;20&#93;;<br />.<br />.<br />tab3 &#91;x&#93; = tab1 &#91;x&#93; &amp; tab2 &#91;x&#93;;[/syntax]<br /><br />powyżej?<br /><br />Działania typu:<br /><br />[syntax=c]*buf3 &#91;x&#93; = *buf1 &#91;x&#93; &amp; *buf2 &#91;x&#93;;[/syntax]<br /><br />od razu wywalają błąd.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 18 gru 2019, o 19:44</p><hr />
]]></content>
</entry>
</feed>