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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-10-19T08:23:54+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=8325&amp;mode</id>
<entry>
<author><name><![CDATA[panbosman]]></name></author>
<updated>2015-10-19T08:23:54+01:00</updated>
<published>2015-10-19T08:23:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=142823#p142823</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=142823#p142823"/>
<title type="html"><![CDATA[Re: iteracja na strukturze ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=142823#p142823"><![CDATA[
Pytanie w tym temacie:<br />Jak dokonać  iteracji na takiej strukturze?<br /><br />[syntax=c]typedef struct {<br />        uint8_t eee;<br />        uint16_t fff;<br />        uint32_t ggg;<br />} ccc;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=819">panbosman</a> — 19 paź 2015, o 08:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ukasz]]></name></author>
<updated>2014-08-29T22:11:24+01:00</updated>
<published>2014-08-29T22:11:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93412#p93412</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93412#p93412"/>
<title type="html"><![CDATA[Re: iteracja na strukturze ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93412#p93412"><![CDATA[
Finito. Dzięki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=873">ukasz</a> — 29 sie 2014, o 22:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ukasz]]></name></author>
<updated>2014-08-29T21:55:40+01:00</updated>
<published>2014-08-29T21:55:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93407#p93407</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93407#p93407"/>
<title type="html"><![CDATA[Re: iteracja na strukturze ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93407#p93407"><![CDATA[
<div class="quotetitle">mokrowski napisał(a):</div><div class="quotecontent"><br />Comprende ? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /><br /></div><br />Si senior. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /><br />Czytając tekst ze strony którą podałem wcześniej:<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Because of this, we have to keep track of whether the mileage member or the months_guarantee member contains a valid value. This can be determined by looking at the second_hand variable. If that is 1, the mileage member contains a valid value; if that is 0, the months_guarantee member contains a valid value.<br /></div><br />Zrozumiałem, że pole second_hand jest ściśle związane z unią. Odwoływanie się do pola w unii jest zależne od wartości second_hand.<br />Tak naprawdę jest to tylko wskazanie (takie umowne) co chcemy przechowywać w unii. Równie dobrze mogło by być uint8_t second_hand:1. Zgadza się ?<br /><br />Sorki. Zdryfowałem z tematem mocno.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=873">ukasz</a> — 29 sie 2014, o 21:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ukasz]]></name></author>
<updated>2014-08-29T21:09:10+01:00</updated>
<published>2014-08-29T21:09:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93403#p93403</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93403#p93403"/>
<title type="html"><![CDATA[Re: iteracja na strukturze ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93403#p93403"><![CDATA[
Jeżeli chodzi o łączenie struktur z uniami to mam problem. Samą zasadę działania unii rozumiem. Przy łączeniach się wykładam. Znalazłem taki oto <a href="http://dig.cs.gc.cuny.edu/manuals/C/index.html#6"  class="postlink">kod</a> na necie:<br />[syntax=c]struct car {enum brands brand;<br />            enum colours colour;<br />            int second_hand;<br />            union {unsigned long mileage; int months_guarantee;} carinfo;<br />            unsigned diesel:1, airbag:1, airconditioning:1;<br />            };[/syntax]<br /><br />Tego nie rozumiem. Jak inicjuje się unie w tym przypadku ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=873">ukasz</a> — 29 sie 2014, o 21:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ukasz]]></name></author>
<updated>2014-08-29T20:14:09+01:00</updated>
<published>2014-08-29T20:14:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93397#p93397</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93397#p93397"/>
<title type="html"><![CDATA[Re: iteracja na strukturze ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93397#p93397"><![CDATA[
Reasumując. Połączenie struktury z unią mogło by wyglądać tak:<br />[syntax=c]typedef struct {<br />uint8_t seconds;<br />uint8_t minutes;<br />uint8_t hours;<br />} clock_fields;<br /><br />typedef union {<br />uint8_t idx&#91;3&#93;;<br />clock_fields field;<br />}DateTime;[/syntax]<br />Można wtedy iterować po strukturze używając idx. To jest Struktura w unii. Zastanawia mnie jednak taki zapis:<br />[syntax=c]typedef struct {<br />        union {uint8_t idx&#91;3&#93;;};<br />uint8_t seconds;<br />uint8_t minutes;<br />uint8_t hours;<br />} DateTime;[/syntax]<br /><br />Czy on jest równoznaczny z poprzednim ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=873">ukasz</a> — 29 sie 2014, o 20:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-08-28T22:04:44+01:00</updated>
<published>2014-08-28T22:04:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93328#p93328</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93328#p93328"/>
<title type="html"><![CDATA[Re: iteracja na strukturze ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93328#p93328"><![CDATA[
Witam,<br /><br /><div class="quotetitle">ukasz napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">doman89 napisał(a):</div><div class="quotecontent"> dajesz wtedy fora i instrukcję do wykonania<br /></div><br />Wiem co to jest unia i jak działa. Jednak nie wiem za bardzo jak to połączyć w tym przypadku z unią. Można trochę jaśniej ?</div><br /><br />Skoro kolega wie co to unia, to niech spojrzy na kod który dołączyłem, myślę, że nie ma co bardziej rozjaśniać, a konkretnie ten krok:<br />[syntax=c]for( uint8_t x = 0; x &lt; 3; x++) clock-&gt;id&#91;x&#93; = bcd2dec(buffer&#91;x&#93;);[/syntax]<br />Czyli wpisywanie do tablicy po kolei danych odebranych z zegara, czyli do zmiennych, sekundy, minuty, godziny <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><span style="color: #0000FF">z Niebieskim pozdRowieniem,<br />Doman89</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 28 sie 2014, o 22:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ukasz]]></name></author>
<updated>2014-08-28T21:49:42+01:00</updated>
<published>2014-08-28T21:49:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93327#p93327</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93327#p93327"/>
<title type="html"><![CDATA[Re: iteracja na strukturze ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93327#p93327"><![CDATA[
<div class="quotetitle">doman89 napisał(a):</div><div class="quotecontent"><br />dajesz wtedy fora i instrukcję do wykonania<br /></div><br />Wiem co to jest unia i jak działa. Jednak nie wiem za bardzo jak to połączyć w tym przypadku z unią. Można trochę jaśniej ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=873">ukasz</a> — 28 sie 2014, o 21:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-08-28T21:32:42+01:00</updated>
<published>2014-08-28T21:32:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93324#p93324</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93324#p93324"/>
<title type="html"><![CDATA[Re: iteracja na strukturze ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93324#p93324"><![CDATA[
Witam,<br /><br />Można połączyć, można jeszcze tą strukturę z unią, co Ci skróci tą funkcję o 2 linijki, dajesz wtedy fora i instrukcję do wykonania. W kodzie się przede wszystkim liczy aby był czytelny, a ten jest <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo na pierwszy rzut oka wiadomo o co autorowi chodzi.<br /><br />Jak chcesz to pokombinuj coś w tym stylu:<br />[syntax=c]typedef struct {<br />uint8_t seconds;<br />uint8_t minutes;<br />uint8_t hours;<br />} DateTime;<br /><br />typedef union{<br />uint8_t id&#91;3&#93;;<br />DateTime DataCzas;<br />}u_DataTime;<br /><br />void get_time(u_DateTime *clock) {<br />uint8_t buffer&#91;3&#93;;<br />TWI_read_buf(RTC_ADDRESS, 0x02, 3, buffer);<br />for( uint8_t x = 0; x &lt; 3; x++) clock-&gt;id&#91;x&#93; = bcd2dec(buffer&#91;x&#93;);<br />}[/syntax]<br /><br />Mogą być błędy, bo pisane tak na szybko bez zastanowienia, a sam jestem początkujący <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /><br /><span style="color: #0000FF">z Niebieskim pozdRowieniem,<br />Doman89</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 28 sie 2014, o 21:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ukasz]]></name></author>
<updated>2014-08-28T20:31:39+01:00</updated>
<published>2014-08-28T20:31:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93308#p93308</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93308#p93308"/>
<title type="html"><![CDATA[iteracja na strukturze ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8325&amp;p=93308#p93308"><![CDATA[
Witam<br /><br />Mam taki oto kod:<br />[syntax=c]typedef struct {<br />uint8_t seconds;<br />uint8_t minutes;<br />uint8_t hours;<br />} DateTime;<br /><br />void get_time(DateTime *clock) {<br />uint8_t buffer&#91;3&#93;;<br />TWI_read_buf(RTC_ADDRESS, 0x02, 3, buffer);<br />clock-&gt;seconds = bcd2dec(buffer&#91;0&#93;);<br />clock-&gt;minutes = bcd2dec(buffer&#91;1&#93;);<br />clock-&gt;hours = bcd2dec(buffer&#91;2&#93;);<br />}[/syntax]<br /><br />Trochę nie ładny/elegancki jest ten kod. To jest moje wrażenie a nie błąd w C. Znacznie więcej programowałem w pythonie. Stąd moja próba usprawnienia kodu. Macie jakiś pomysł ? Może się nie da. Wolę się spytać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=873">ukasz</a> — 28 sie 2014, o 20:31</p><hr />
]]></content>
</entry>
</feed>