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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2019-06-25T21:14:23+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=22363&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-06-25T21:14:23+01:00</updated>
<published>2019-06-25T21:14:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220021#p220021</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220021#p220021"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220021#p220021"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Na wstępie chciałbym prosić wszystkich, aby nie traktowali moich słów jako złośliwą krytykę, czy też wymądrzanie się, bo naprawdę nie o to mi chodzi.<br /><br />@mirekk36<br />Myślę, że każdy potrafi znaleźć jakieś argumenty na poparcie swojej tezy, jak i kontrargumenty na obalenie argumentów strony (nazwijmy to) &quot;inaczej myślącej&quot;<br /></div><br /><br />Jeszcze raz powtórzę, bo może mnie troszkę źle zrozumiałeś:<br /><br />- po pierwsze wcale nie jestem przeciwny używaniu __flash<br />- po drugie sam troszkę wspomniałeś o przyzwyczajeniu i wręcz to poparłem<br />- po trzecie no może kilka argumentów mi się kręci w głowie przeciwko __flash - jak opisałem ale to tylko moje widzi-misię<br /><br />uważam, że zdecydowanie warto się zapoznawać z tą metodą i nie patrzeć na moje prywatne przyzwyczajenia <br /><br />i dlatego uważam za bardzo cenne twoje wskazówki w zakresie __flash <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> a szczególnie jestem za tym aby to propagować - może wtedy i mi się coś w środku zmieni ... tyle, że jeśli pozwolisz, na razie po prostu pozostanę przy swoim zdaniu i to tylko tyle, a nie żebym moimi tekstami miał komuś broń Boże obrzydzać używanie _flash'a <br /><br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />I tak jak wcześniej już chyba pisałem, nie chcę tutaj agitować za przejściem na __flash.<br /></div><br />a ja uważam, że nawet jeśli chcesz agitować - to to jest słuszna droga <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... i ja nie mam absolutnie nic przeciwko temu - bo sam wiem, że czasem taki upór przed nowościami nie ma najmniejszego sensu. Sam zwykle przekonuję ludzi do nowszych wersji różnego softu (chociażby windowsa) i innych rzeczy i tym bardziej mi głupio, że się jeszcze na tego __flasha nie przeflancowałem ... <br /><br />mam nadzieję zatem, że to wyjaśni już do końca moje zdanie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... jak to mawiał klasyk &quot;jestem za a nawet przeciw&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=54">mirekk36</a> — 25 cze 2019, o 21:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2019-06-25T20:13:47+01:00</updated>
<published>2019-06-25T20:13:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220019#p220019</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220019#p220019"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220019#p220019"><![CDATA[
Akurat moim celem biło pokazanie tylko innego rozwiązania. Póki co nie było mi potrzebne to o czym wspomniałeś (w związku ze strukturami). Bardzo chętnie poznam ta metodę _flash. Mógłbyś naświetlić temat i jak to sobie zdefiniować?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 25 cze 2019, o 20:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2019-06-25T18:19:34+01:00</updated>
<published>2019-06-25T18:19:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220015#p220015</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220015#p220015"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220015#p220015"><![CDATA[
Na wstępie chciałbym prosić wszystkich, aby nie traktowali moich słów jako złośliwą krytykę, czy też wymądrzanie się, bo naprawdę nie o to mi chodzi.<br /><br /><strong>@mirekk36</strong><br />Myślę, że każdy potrafi znaleźć jakieś argumenty na poparcie swojej tezy, jak i kontrargumenty na obalenie argumentów strony (nazwijmy to) &quot;inaczej myślącej&quot; (aby nie użyć zaraz brzydkiego słowa &quot;przeciwnej&quot;, bo to może zostać źle zrozumiane) <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />nie powiesz mi, że na pierwszy rzut oka widać gdzie jest &quot;week[]&quot; po takim zapisie:[syntax=c]day = week&#91;3&#93;;[/syntax]<br /></div><br />Dla mnie profit z użycia <strong><em>__flash</em></strong> polega właśnie na tym, że nie muszę tego wiedzieć, ani się o to martwić. Ani o to, czy odczytać byte, czy word, czy dword. Po prostu stosuję zapis taki sam jak w przypadku odczytu z RAM i kompilator sam generuje odpowiedni kod, aby odczytać dane z właściwej pamięci. Gdyby ktoś usiłował z kolei wpisać tam jakąś wartość (co jest oczywiście niemożliwe, bo to dane tylko do odczytu), to zostanie &quot;naprostowany&quot; przez kompilator. W przypadku tworzenia funkcji z parametrem w postaci wskaźnika do pamięci FLASH, to niezależnie od tego czy użyjemy <strong><em>__flash</em></strong> czy <strong><em>PROGMEM</em></strong>, i tak musimy wiedzieć, gdzie są dane i uwzględnić to w definicji funkcji. Ewentualnie używając kwalifikatora <strong><em>__memx</em></strong> można stworzyć funkcję uniwersalną, która prawidłowo obsłuży wskaźnik zarówno do FLASH, jak i do RAM.<br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />I na koniec - ponieważ ja wolę po 100-kroć ECLIPSA niż Atmel Studio, to &quot;uzdatnianie&quot; Eclipsa żeby łykał specyfikatory typu &quot;__flash&quot; ... i to uzdatnianie dla każdego projektu z osobna to już się robi koszmarek.<br /></div><br />Odpowiem może podobnie jak Ty: ileż tego &quot;uzdatniania&quot;? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Nowych projektów nie tworzy się raczej kilkadziesiąt na dobę... <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong>@SylwekK</strong><br /><div class="quotetitle">SylwekK napisał(a):</div><div class="quotecontent"><br />A ja sobie robię w takim przypadku krótkie makro zastępujące ten nieco przydługawy zapis i też mam wygodnie  Każdy robi jak mu pasuje [syntax=c]#define SELECT(x) pgm_read_byte(&amp;select&#91;x&#93;)[/syntax]<br /></div><br />Oczywiście, że makrami można sobie ułatwić życie i dobrze, że to potrafisz zrobić. Twoje makro odczytuje jednak tylko element z jakiejś tablicy. Gdybyś teraz chciał np. odczytać element jakiejś struktury zapisanej w pamięci FLASH, musiałbyś utworzyć inne makro. Gdyby ta struktura była elementem tablicy struktur zapisanej we FLASH, trzeba utworzyć kolejne makro itd. Użycie <strong><em>__flash</em></strong> zamiast <strong><em>PROGMEM</em></strong> zupełnie eliminuje konieczność użycia makr <em>pgm_read_xxx()</em>, bez konieczności definiowania kolejnych makr. Używasz po prostu zapisu, jak przy odczycie &quot;zwykłej&quot; zmiennej z RAM i to wszystko. I wcale nie chodzi mi o to, żeby skrytykować Twój pomysł (sposób) ani żebyś na siłę przyjął mój punkt widzenia. Chciałem tylko, żebyś dobrze zrozumiał różnicę.<br /><br />Właściwie chciałem tylko pokazać, jak ludzie mogą różnie interpretować i postrzegać te same fakty. Przykładowo to, co dla mnie jest bardziej czytelne, dla kogoś innego wcale takie być nie musi (i odwrotnie). Można by tak godzinami się spierać, rozpatrując różne aspekty użycia obu metod, ale to nie ma większego sensu. Nie mówimy tutaj przecież o tym, że jedna z metod jest błędna, a druga prawidłowa. Obie metody są poprawne i dają praktycznie ten sam efekt, więc każdy sobie może wybrać dowolną metodę, która mu lepiej pasuje. Oczywiście pod warunkiem, że nie pracuje w zespole. Praca zespołowa niestety siłą rzeczy wymusza stosowanie się do pewnych reguł.<br /><br />I tak jak wcześniej już chyba pisałem, nie chcę tutaj agitować za przejściem na <strong><em>__flash</em></strong>. Chcę tylko pokazać ewentualne korzyści z tego płynące i przekonać, że naprawdę &quot;nie taki diabeł straszny&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=14165">andrews</a> — 25 cze 2019, o 18:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2019-06-25T12:34:44+01:00</updated>
<published>2019-06-25T12:34:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220011#p220011</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220011#p220011"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220011#p220011"><![CDATA[
A ja sobie robię w takim przypadku krótkie makro zastępujące ten nieco przydługawy zapis i też mam wygodnie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Każdy robi jak mu pasuje <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />[syntax=c]#define SELECT(x) pgm_read_byte(&amp;select&#91;x&#93;)[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 25 cze 2019, o 12:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-06-25T10:39:39+01:00</updated>
<published>2019-06-25T10:39:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220008#p220008</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220008#p220008"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220008#p220008"><![CDATA[
tak znam zalety ale też tak jak mówisz - siła przyzwyczajenia<br /><br />mimo to:<br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />czytelność kodu - łatwiej jest zanalizować<br />[syntax=c]day = week&#91;3&#93;;[/syntax]<br />niż<br />day = (uint8_t)pgm_read_byte(&amp;week[3]);<br /></div><br /><br />nie powiesz mi, że na pierwszy rzut oka widać gdzie jest &quot;week[]&quot; po takim zapisie:<br />[syntax=c]day = week&#91;3&#93;;[/syntax]<br /><br />czy w RAM czy we FLASH, trzeba sięgać do definicji żeby zobaczyć specyfikator, a jeśli kod jest zarąbiaście pokręcony - to już w ogóle jego analiza robi się ...  tzn ok może przesadzam, ale jak widzę nawet taki biedny zapis<br /><br />[syntax=c]day = (uint8_t)pgm_read_byte(&amp;week&#91;3&#93;);[/syntax]<br /><br />to czuję się jak w domu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />I na koniec - ponieważ ja wolę po 100-kroć ECLIPSA niż Atmel Studio, to &quot;uzdatnianie&quot; Eclipsa żeby łykał specyfikatory typu &quot;__flash&quot; ... i to uzdatnianie dla każdego projektu z osobna to już się robi koszmarek. Nie wspominając już o tym, że jak np napisałbym swojego LIB'sa z użyciem __flash - to z marszu, nie małej - ale ogromnej większości ludzi zacznie się przez to jeszcze większy problem - przez brak &quot;uzdatnienia&quot; eclipsa - nie wspominając o braku przyzwyczajenia i szybszej moim zdaniem analizy kodu ...<br /><br />... właśnie również z tych powodów wciąż używam PROGMEM <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><div class="quotetitle">Zealota napisał(a):</div><div class="quotecontent"><br />Ma to dużą zaletę, szczególnie przy przenoszeniu kodu choćby na STM. Wystarczy kasować &quot;__flash&quot;<br />Z drugiej strony i tak pozostanie ten sam &quot;problem&quot; z eemem, więc może to jeszcze nie czas...<br /></div><br />ileż tego kasowania <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i jak fajnie odpowiedziałeś sobie sam w drugim zdaniu<br /><br />Ale oczywiście Panowie - ja nie zapieram się nogami i rękami bo może w końcu jakoś się przemogę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> złamię - zobaczę<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 25 cze 2019, o 10:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2019-06-25T10:03:45+01:00</updated>
<published>2019-06-25T10:03:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220006#p220006</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220006#p220006"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220006#p220006"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Nie wiem próbowałem z tym __flash, ale no nie mogię  jakieś obrzydzenie mnie bierze .. i zawsze na końcu działam z pgm_r/w ... lepiej wtedy widać co się dzieje w kodzie<br /></div><br />Podejrzewam, że to bardziej siła przyzwyczajenia.<br /><br />Dla mnie <strong><em>__flash</em></strong> ma trzy podstawowe zalety:<br /><ul><li>wygoda - nie trzeba pamiętać o konieczności stosowania makr <em>pgm_read_xxx()</em> ani jakiego makra w danej sytuacji użyć <em>pgm_read_byte</em>? <em>*_word</em>? <em>*_dword?</em> (a dodatkowo czasami podczas odczytu za pomocą makr wymagane jest jawne rzutowanie),</li><li>czytelność kodu - łatwiej jest zanalizować<br /><strong><em>day = week[3];</em></strong><br />niż<br /><strong><em>day = (uint8_t)pgm_read_byte(&amp;week[3]);</em></strong></li><li>zachowanie kontroli typów - <em>pgm_read_word()</em> może czytać zarówno float, uint16_t lub int16_t, w przypadku użycia <strong><em>__flash</em></strong> kompilator dokładnie wie, z jakimi danymi ma do czynienia</li></ul>No ale każdy robi, jak mu wygodniej, ważne żeby skutecznie <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> — 25 cze 2019, o 10:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zealota]]></name></author>
<updated>2019-06-25T09:38:55+01:00</updated>
<published>2019-06-25T09:38:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220005#p220005</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220005#p220005"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220005#p220005"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />A ja stosuję kwalifikator <strong><em>__flash</em></strong> zamiast atrybutu <strong><em>PROGMEM</em></strong> i nie muszę pamiętać o makrach <em>pgm_read_xxx()</em> <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br />No właśnie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Myślę, że najwyższa pora by Mirek &quot;zmienił doktrynę&quot; w tej kwestii <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Ma to dużą zaletę, szczególnie przy przenoszeniu kodu choćby na STM. Wystarczy kasować &quot;__flash&quot;<br />Z drugiej strony i tak pozostanie ten sam &quot;problem&quot; z eemem, więc może to jeszcze nie czas...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=16487">Zealota</a> — 25 cze 2019, o 09:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-06-25T09:16:07+01:00</updated>
<published>2019-06-25T09:16:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220004#p220004</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220004#p220004"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220004#p220004"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />A ja stosuję kwalifikator <strong><em>__flash</em></strong> zamiast atrybutu <strong><em>PROGMEM</em></strong> i nie muszę pamiętać o makrach <em>pgm_read_xxx()</em> <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br />Nie wiem próbowałem z tym __flash, ale no nie mogię <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> jakieś obrzydzenie mnie bierze .. i zawsze na końcu działam z pgm_r/w ... lepiej wtedy widać co się dzieje w kodzie, chociaż jak widać częściej można się dziabnąć ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 25 cze 2019, o 09:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2019-06-25T08:57:33+01:00</updated>
<published>2019-06-25T08:57:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220003#p220003</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220003#p220003"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220003#p220003"><![CDATA[
A ja stosuję kwalifikator <strong><em>__flash</em></strong> zamiast atrybutu <strong><em>PROGMEM</em></strong> i nie muszę pamiętać o makrach <em>pgm_read_xxx()</em> <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> — 25 cze 2019, o 08:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-06-25T08:11:28+01:00</updated>
<published>2019-06-25T08:11:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220002#p220002</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220002#p220002"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220002#p220002"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Tak to jest jak się ma przerwę w programowaniu i niektóre oczywistości ulatują z głowy.<br /></div><br />Spokojnie, ja często i bez żadnej przerwy - zapomnę o pgm_read ... i później siedzę i dumam dlaczego dostaję śmieci <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... to się chyba każdemu zdarza<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 25 cze 2019, o 08:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[main.c]]></name></author>
<updated>2019-06-25T07:52:28+01:00</updated>
<published>2019-06-25T07:52:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220001#p220001</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220001#p220001"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220001#p220001"><![CDATA[
Dziękuję, potwierdzam teraz sam dostrzegłem swój błąd. Szukałem w podstawach w zielonej, do niebieskiej nie dotarłem. Tak to jest jak się ma przerwę w programowaniu i niektóre oczywistości ulatują z głowy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=332">main.c</a> — 25 cze 2019, o 07:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-06-25T06:22:09+01:00</updated>
<published>2019-06-25T06:22:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220000#p220000</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220000#p220000"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=220000#p220000"><![CDATA[
Już miałem coś odpisywać ale kolega andrews mnie ubiegł <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><div class="quotetitle">main.c napisał(a):</div><div class="quotecontent"><br />Zdecydowałem się napisać ten post kiedy pszeszukawszy odpowiedzi w książce nt tablic nie poradziłem sobie z tym<br /></div><br />Nadmienię, że oczywiście w Bluebooku jest o tym mowa i to niejednokrotnie <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=54">mirekk36</a> — 25 cze 2019, o 06:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2019-06-25T06:08:29+01:00</updated>
<published>2019-06-25T06:08:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=219999#p219999</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=219999#p219999"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=219999#p219999"><![CDATA[
<div class="quotetitle">main.c napisał(a):</div><div class="quotecontent"><br /> [syntax=c]//<br />       if (d1&lt;10) {<br />                cyfra1 = display1_tab&#91;d1&#93;&#91;0&#93;;<br />                cyfra2 = display1_tab&#91;d1&#93;&#91;1&#93;;<br />                cyfra3 = display1_tab&#91;d1&#93;&#91;2&#93;;<br />        }[/syntax]<br /></div><br />Nieprawidłowo odczytujesz elementy tablicy. Twoje tablice zapisane są w pamięci FLASH, więc do ich odczytania należy użyć makr:[syntax=c]// zakładając, że cyfra1, cyfra2 i cyfra3 to zmienne typu uint8_t<br />       if (d1&lt;10) {<br />                cyfra1 = (uint8_t)pgm_read_byte(&amp;display1_tab&#91;d1&#93;&#91;0&#93;);<br />                cyfra2 = (uint8_t)pgm_read_byte(&amp;display1_tab&#91;d1&#93;&#91;1&#93;);<br />                cyfra3 = (uint8_t)pgm_read_byte(&amp;display1_tab&#91;d1&#93;&#91;2&#93;);<br />        }[/syntax]<br />Oczywiście analogicznie należy zrobić w pozostałych przypadkach, czyli dla d2 i d3.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 25 cze 2019, o 06:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Szofer]]></name></author>
<updated>2019-06-24T23:57:54+01:00</updated>
<published>2019-06-24T23:57:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=219998#p219998</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=219998#p219998"/>
<title type="html"><![CDATA[Re: Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=219998#p219998"><![CDATA[
d1, d2, d3 sa zainicjalizowane/zdefiniowane i sa stałymi dosłownymi gdzie kompilator podmienia w miejsce gdzie nazwa wystepuje d1, d2, d3 na to co zdefiniowałeś 1, 2, 3<br /><br />Zmień w tablicy tab gdzie masz [d1][0]... na tab[1][0]<br /><br />Efekt ten sam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7664">Szofer</a> — 24 cze 2019, o 23:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[main.c]]></name></author>
<updated>2019-06-24T23:15:41+01:00</updated>
<published>2019-06-24T23:15:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=219997#p219997</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=219997#p219997"/>
<title type="html"><![CDATA[Niepopawny odczyt elementów z tablicy?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22363&amp;p=219997#p219997"><![CDATA[
Hej,<br /><br />Zdecydowałem się napisać ten post kiedy pszeszukawszy odpowiedzi w książce nt tablic nie poradziłem sobie z tym. Kiedy wywołam procedurę rozbij_liczbę z jakąś wartością to trzy pierwsze linijki poprawnie rozbiją liczbę na setki, dziesiątki i jednostki (wysyłałem na uarta te dane) ale już pozostała część nie odczyta z tablic już nic (cyfra1,cyfra2,cyfra3=0). Natomiast kiedy odkomentuję trzy linijki z przypisanymi wartościami d1, d2, d3 to z tablic wyciągane są poprawne dane i na wyświetlaczu pokazują się wartości które powinny. Typy danych moim zdaniem się zgadzają. Czego ja nie rozumiem?<br /><br />[syntax=c]const uint8_t display1_tab&#91;11&#93;&#91;3&#93; PROGMEM = {<br />{192, 128, 193},// 0<br />{0  ,   0, 65},// 1<br />{192,  64, 192},// 2<br />{128,  64, 193},// 3<br />{  0, 192,  65},// 4<br />{128, 192, 129},// 5<br />{192, 192, 129},// 6<br />{  0,   0, 193},// 7<br />{192, 192, 193},// 8<br />{128, 192, 193},// 9<br />{  0,   0,   0},// pusty<br />};<br /><br /><br />const uint8_t display2_tab&#91;11&#93;&#91;3&#93; PROGMEM = {<br />{ 28,  56,   0},// 0<br />{ 16,  32,   0},// 1<br />{ 12,  52,   0},// 2<br />{ 24,  52,   0},// 3<br />{ 16,  44,   0},// 4<br />{ 24,  28,   0},// 5<br />{ 28,  28,   0},// 6<br />{ 16,  48,   0},// 7<br />{ 28,  60,   0},// 8<br />{ 24,  60,   0},// 9<br />{  0,   0,   0},// pusty<br />};<br /><br />const uint8_t display3_tab&#91;11&#93;&#91;3&#93; PROGMEM = {<br />{  1,3,28},// 0<br />{  1,   2,   0},// 1<br />{  0,   3,  44},// 2<br />{  1,   3,  40},// 3<br />{  1,   2,  48},// 4<br />{  1,   1,  56},// 5<br />{  1,   1,  60},// 6<br />{  1,   3,   0},// 7<br />{  1,   3,  60},// 8<br />{  1,   3,  56},// 9<br />{  0,   0,   0},// pusty<br />};<br /><br /><br />void rozbij_liczbe(uint16_t liczba)<br />{<br />uint8_t d1,d2,d3;<br /><br />d1=0;<br />d1 = (liczba % 10);// jednostki<br />d2 = (liczba / 10) % 10;// dziesiątki<br />d3 = (liczba / 100) % 10;// setki<br /><br />cyfra1=0;// zerowanie zmiennych<br />cyfra2=0;<br />cyfra3=0;<br />//d1=1;<br />//d2=2;<br />//d3=3;<br /><br />if (d1&lt;10) {<br />cyfra1 = display1_tab&#91;d1&#93;&#91;0&#93;;<br />cyfra2 = display1_tab&#91;d1&#93;&#91;1&#93;;<br />cyfra3 = display1_tab&#91;d1&#93;&#91;2&#93;;<br />}<br /><br />if (d2&lt;10) {<br />cyfra1 |= display2_tab&#91;d2&#93;&#91;0&#93;;<br />cyfra2 |= display2_tab&#91;d2&#93;&#91;1&#93;;<br />cyfra3 |= display2_tab&#91;d2&#93;&#91;2&#93;;<br />}<br /><br />if (d3&lt;10) {<br />cyfra1 |= display3_tab&#91;d3&#93;&#91;0&#93;;<br />cyfra2 |= display3_tab&#91;d3&#93;&#91;1&#93;;<br />cyfra3 |= display3_tab&#91;d3&#93;&#91;2&#93;;<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=332">main.c</a> — 24 cze 2019, o 23:15</p><hr />
]]></content>
</entry>
</feed>