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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-12-01T01:11:15+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=4520&amp;mode</id>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2017-12-01T01:11:15+01:00</updated>
<published>2017-12-01T01:11:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=199799#p199799</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=199799#p199799"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=199799#p199799"><![CDATA[
Barbórka za pasem w sumie <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> A serio to szkoda zakładać kolejnego wątku w tym samym temacie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 1 gru 2017, o 01:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2017-12-01T00:59:24+01:00</updated>
<published>2017-12-01T00:59:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=199798#p199798</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=199798#p199798"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=199798#p199798"><![CDATA[
Czyżby dzisiaj był dzień górnika? <br /><br />Wysłane ze srajfona<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 1 gru 2017, o 00:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2017-12-01T00:50:21+01:00</updated>
<published>2017-12-01T00:50:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=199797#p199797</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=199797#p199797"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=199797#p199797"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Odrobinkę przebudowując pętlę for mozna tez równac do prawej<br /></div><br /><br /><img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Zrobiłem to w taki nieco chyba zbyt rozbudowany sposób, działa ale może da się to zrobić prościej <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ?<br /><br />[syntax=c]//poprzesuwaj do prawej<br />if(cy&#91;3&#93;==NIC &amp;&amp; cy&#91;2&#93;!=NIC &amp;&amp; cy&#91;1&#93;!=NIC){<br />cy&#91;3&#93;=cy&#91;2&#93;;<br />cy&#91;2&#93;=cy&#91;1&#93;;<br />cy&#91;1&#93;=cy&#91;0&#93;;<br />cy&#91;0&#93;=NIC;<br />}<br /><br />else if(cy&#91;2&#93;==NIC &amp;&amp; cy&#91;3&#93;==NIC &amp;&amp; cy&#91;1&#93;!=NIC){<br />cy&#91;3&#93;=cy&#91;1&#93;;<br />cy&#91;2&#93;=cy&#91;0&#93;;<br />cy&#91;1&#93;=NIC;<br />cy&#91;0&#93;=NIC;<br />}<br /><br />else if(cy&#91;1&#93;==NIC &amp;&amp; cy&#91;2&#93;==NIC &amp;&amp; cy&#91;3&#93;==NIC){<br />cy&#91;3&#93;=cy&#91;0&#93;;<br />cy&#91;2&#93;=NIC;<br />cy&#91;1&#93;=NIC;<br />cy&#91;0&#93;=NIC;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 1 gru 2017, o 00:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-31T21:59:19+01:00</updated>
<published>2013-10-31T21:59:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54985#p54985</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54985#p54985"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54985#p54985"><![CDATA[
to będzie się działo <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 31 paź 2013, o 21:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-10-31T18:56:55+01:00</updated>
<published>2013-10-31T18:56:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54962#p54962</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54962#p54962"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54962#p54962"><![CDATA[
<a href="http://forum.atnel.pl/_obrazki/o/1589/93a159de1c4aa4642a90e960f4c143aa.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1589/93a159de1c4aa4642a90e960f4c143aa.jpg" alt="Obrazek" /></a><br /><br />No to teraz pora na 14-SEG <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=1589">sq8dsr</a> — 31 paź 2013, o 18:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-24T13:55:16+01:00</updated>
<published>2013-10-24T13:55:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54176#p54176</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54176#p54176"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54176#p54176"><![CDATA[
<div class="quotetitle">sq8dsr napisał(a):</div><div class="quotecontent"><br />A może to dobry temat, żeby je opanować<br /></div><br /><br />Oczywiście! <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> — 24 paź 2013, o 13:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-10-24T13:47:57+01:00</updated>
<published>2013-10-24T13:47:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54175#p54175</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54175#p54175"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54175#p54175"><![CDATA[
Tak, bardzo fajna sprawa z tym sterowaniem wyśw. przez SPI. Niesamowicie upraszcza. Zamawiam właśnie wyświetlacze 14 seg. <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br />Ale na razie staram się jakoś fajnie oprogramować PCF 8583. Bardzo fajną obsługę oczywiście zrobił Anty, ale nie wiem czy dorosłem już do stosowania callbaków... <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br />A może to dobry temat, żeby je opanować <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=1589">sq8dsr</a> — 24 paź 2013, o 13:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-24T03:16:04+01:00</updated>
<published>2013-10-24T03:16:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54138#p54138</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54138#p54138"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54138#p54138"><![CDATA[
no i bardzo ładnie śmiga na SPI <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i to jeszcze z efektami <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> — 24 paź 2013, o 03:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-10-23T23:57:23+01:00</updated>
<published>2013-10-23T23:57:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54134#p54134</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54134#p54134"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=54134#p54134"><![CDATA[
Popracowałem trochę i odpaliłem na shiftowanym wyświetlaczu zegarek:<br />Przy okazji taka mała koncepcja animacji podczas wyświetlania godziny. Chciałem żeby jakoś odróżniało się od daty.<br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 23 paź 2013, o 23:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Waldek_jb]]></name></author>
<updated>2013-10-20T01:16:49+01:00</updated>
<published>2013-10-20T01:16:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53647#p53647</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53647#p53647"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53647#p53647"><![CDATA[
Witam.<br /><br />  Ha,ha Kolego nie zły Jesteś <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ,w życiu bym nie wpadł na taki pomysł żeby zwierzątku zainstalować takie CO  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1693">Waldek_jb</a> — 20 paź 2013, o 01:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-10-19T23:47:14+01:00</updated>
<published>2013-10-19T23:47:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53643#p53643</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53643#p53643"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53643#p53643"><![CDATA[
No moja się nazywa Mruka. Ma 4 lata. wychowana na butelce, była jeszcze ślepa. Ma zamiłowanie do elektroniki, uwielbia te wielką diodę RGB, spi na niej, ale tylko wtedy gdy się świeci. Poza tym wyciąga mi ciągle kable ze stykówki. I to nie pierwsze lepsze. Na stykówce jest zrobiony zegar, wyciąga zawsze kable sterujące anodami <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br />Gdy była całkiem mała, spała w pudełku, żeby nie było jej zimno bo taki mały kot potrzebuje ciepła, dałem jej do pudełka lampę EL84 z podłączonym żarzeniem, przez pierwsze tygodnie na niej spała. Pewnie od tego ma teraz zamiłowanie do elektroniki. <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /><a href="http://forum.atnel.pl/_obrazki/o/1589/e9c2d74495ff91c32bdb912e9f6a8d8c.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1589/e9c2d74495ff91c32bdb912e9f6a8d8c.jpg" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/1589/4db928fc4a2f7946f9dde0c7b4a5a6a7.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1589/4db928fc4a2f7946f9dde0c7b4a5a6a7.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 19 paź 2013, o 23:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-19T23:35:35+01:00</updated>
<published>2013-10-19T23:35:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53642#p53642</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53642#p53642"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53642#p53642"><![CDATA[
sq8dsr --&gt; oddawaj mojego kota <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ... o dżizes - skąd masz KLONA mojego kota tzn też kotki .... normalnie idealny klon ... aż rodzinie pokazałem zdjęcie i każdy od razu powiedział że to nasza &quot;psota&quot; bo tak się nasz klon nazywa <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 19 paź 2013, o 23:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-10-19T23:31:17+01:00</updated>
<published>2013-10-19T23:31:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53640#p53640</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53640#p53640"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53640#p53640"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Odrobinkę przebudowując pętlę for mozna tez równac do prawej<br /></div><br />hmm muszę nad tym pomyśleć...<br /><br />Podobnie jak nad obsługą decimal point <br /><br />O ile moja asystentka mi pozwoli <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /><a href="http://forum.atnel.pl/_obrazki/o/1589/30c82ceb8c4211caec963f1e651c600d.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1589/30c82ceb8c4211caec963f1e651c600d.jpg" alt="Obrazek" /></a><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />to nie magiczna konwersja<br /></div><br />Kod musi być odpowiednio komentowany <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 19 paź 2013, o 23:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-19T23:27:06+01:00</updated>
<published>2013-10-19T23:27:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53639#p53639</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53639#p53639"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53639#p53639"><![CDATA[
to nie magiczna konwersja <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> to &quot;fajność&quot; języka C, że tak się mało poprawnie wyrażę. Pamiętam gdy się go uczyłem po raz któryś - to takie sztuczki - jak je zobaczyłem - przekonały mnie do niego na maxa i wiedziałem, że trzeba szukać kolejnych ... że &quot;tuż za rogiem&quot; czekają następne i się nie przeliczyłem .... zresztą do dzisiaj je znajduję. Anty także ... i każdy kto się tylko za to dalej weźmie to zobaczy, że to kurczę działa ....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 19 paź 2013, o 23:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-10-19T23:11:16+01:00</updated>
<published>2013-10-19T23:11:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53637#p53637</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53637#p53637"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53637#p53637"><![CDATA[
[syntax=c]void convert_new(uint32_t value){<br />uint8_t i; //zmienna do pętli FOR<br /><br />ltoa(value, liczba, 10);<br /><br />for (i=0; i&lt;8; i++){<br />if(liczba&#91;i&#93;==0) cy&#91;i&#93;=16; else<br />cy&#91;i&#93; = liczba&#91;i&#93; - '0'; //magiczna konwersja :P<br />}<br /><br /><br />}[/syntax]<br /><br />Tak to teraz wygląda.<br />konwersja przez itoa/ltoa spowodowała, że zawartość wyświetlacza jest wyrównana &quot;do lewej&quot; czyli problem zer wiodących sam się rozwiązał bo przy takim formatowaniu one w ogóle nie występują. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Jak widać dodałem do funkcji warunek. Ponieważ gdy konwertowana liczba jest krótsza niż 8 pozycji to do tablicy liczba[] na dalsze, nieużywane pozycje lądują &quot;zera&quot; następnie wykonuje się na nich operacja &quot; -'0' &quot; i na wyświetlaczu tworzy się w pustym miejscu krzak. Warunek powoduje, że wartość &quot;zero&quot; (nie '0') wpisywana jest do cy[i] jako znak nr 16 który u mnie jest 0xFF czyli wygaszeniem wszystkich segmentów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 19 paź 2013, o 23:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-19T18:58:07+01:00</updated>
<published>2013-10-19T18:58:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53615#p53615</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53615#p53615"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53615#p53615"><![CDATA[
<div class="quotetitle">sq8dsr napisał(a):</div><div class="quotecontent"><br />hmm tak wiem, że znak '0' w asci ma kod 48. <br />Znaki kolejnych cyfr są następne w kolejności, więc odjęcie od nich 48 da wartość liczbową danej cyfry. No faktycznie....<br />Ale nie przyszłoby mi do głowy, że można to tak zapisać, że stałą dosłowną 48 można zastąpić wartością char <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /></div><br /><br />Akurat ten przykład z taką końwersją to nawet w Bluebooku pokazuję ale pewnie umknęło w gąszczu informacji <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> — 19 paź 2013, o 18:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-10-19T18:22:56+01:00</updated>
<published>2013-10-19T18:22:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53596#p53596</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53596#p53596"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53596#p53596"><![CDATA[
hmm tak wiem, że znak '0' w asci ma kod 48. <br />Znaki kolejnych cyfr są następne w kolejności, więc odjęcie od nich 48 da wartość liczbową danej cyfry. No faktycznie....<br />Ale nie przyszłoby mi do głowy, że można to tak zapisać, że stałą dosłowną 48 można zastąpić wartością char <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 19 paź 2013, o 18:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-10-19T15:30:48+01:00</updated>
<published>2013-10-19T15:30:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53566#p53566</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53566#p53566"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53566#p53566"><![CDATA[
Nie bardzo rozumiem ten zapis, -&gt;  -'0'<br />[syntax=c]cy&#91;i&#93; = liczba&#91;i&#93; - '0';  // końwersja znaku ASCII na liczbę ;)[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 19 paź 2013, o 15:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-19T11:41:45+01:00</updated>
<published>2013-10-19T11:41:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53535#p53535</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53535#p53535"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53535#p53535"><![CDATA[
ja bym proponował ci użyć czegoś prostszego - znacznie prostszego jeśli chodzi o tą monstrualną funkcję <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />jest sobie taka znana ci pewnie wbudowana funkcja itoa() zgadza się <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />owszem ona zamienia liczbę na string ... no ale robi to jedną linijką i po zawodach<br /><br />teraz wystarczy każdy znak stringa czyli CYFRĘ w ASCII zamienić na liczbę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> to już banał, załóżmy że masz zamienioną liczbę ASCII w buforze<br /><br />char liczba[9]; // jeden znak dodatkowy na zero na końcu stringa<br /><br />stwórz sobie przy okazji tablicę cyfr skoro już masz ich tyle<br /><br />[syntax=c]uint8_t cy&#91;8&#93;;[/syntax] <br /><br />zamiast cy1, cy2, cy3 itd<br /><br />i potem<br /><br />[syntax=c]for( i=0; i&lt;8; i++ ) {<br /> <br />  cy&#91;i&#93; = liczba&#91;i&#93; - '0';  // końwersja znaku ASCII na liczbę ;)<br /><br />}[/syntax]<br /><br />i po zawodach panie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />tzn no musisz jeszcze uwzględnić te zera nieznaczące w tej pętli tzn przed nią ew dodać do stringa z liczba[] te zera nieznaczące albo swoje puste znaki 0xff<br /><br />ale mam nadzieję że już czujesz o co kaman <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> — 19 paź 2013, o 11:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-10-19T11:06:31+01:00</updated>
<published>2013-10-19T11:06:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53528#p53528</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53528#p53528"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53528#p53528"><![CDATA[
Napisałem takiego oto potwora. <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> <br />Funkcja do konwersji liczby na poszczególne pozycje wyświetlacza z wygaszeniem zer wiodących.<br /><br />[syntax=c]void convert_wo_zeros(uint32_t value) {<br /><br />// zmienne do obsługi dzielenia z resztą<br />div_t div_7, div_6, div_5;<br />ldiv_t div_4, div_3, div_2, div_1;<br /><br />div_1=ldiv(value,10000000);<br />div_2=ldiv(div_1.rem,1000000);<br />div_3=ldiv(div_2.rem,100000);<br />div_4=ldiv(div_3.rem,10000);<br />div_5=div(div_4.rem,1000);<br />div_6=div(div_5.rem,100);<br />div_7=div(div_6.rem,10);<br /><br />// warunki dla wygaszania zer wiodących<br />if (div_1.quot==0) {<br />cy1=16;<br />if (div_2.quot==0 &amp;&amp; div_1.quot==0) cy2=16; else cy2=div_2.quot;<br />if (div_3.quot==0 &amp;&amp; div_1.quot==0 &amp;&amp; div_2.quot==0) cy3=16; else cy3=div_3.quot;<br />if (div_4.quot==0 &amp;&amp; div_1.quot==0 &amp;&amp; div_2.quot==0 &amp;&amp; div_3.quot==0) cy4=16; else cy4=div_4.quot;<br />if (div_5.quot==0 &amp;&amp; div_1.quot==0 &amp;&amp; div_2.quot==0 &amp;&amp; div_3.quot==0 &amp;&amp; div_4.quot==0) cy5=16; else cy5=div_5.quot;<br />if (div_6.quot==0 &amp;&amp; div_1.quot==0 &amp;&amp; div_2.quot==0 &amp;&amp; div_3.quot==0 &amp;&amp; div_4.quot==0 &amp;&amp; div_5.quot==0) cy6=16; else cy6=div_6.quot;<br />if (div_7.quot==0 &amp;&amp; div_1.quot==0 &amp;&amp; div_2.quot==0 &amp;&amp; div_3.quot==0 &amp;&amp; div_4.quot==0 &amp;&amp; div_5.quot==0 &amp;&amp; div_6.quot==0) cy7=16; else cy7=div_7.quot;<br />cy8=div_7.rem;<br /><br />}<br />else {<br />cy1=div_1.quot;<br />cy2=div_2.quot;<br />cy3=div_3.quot;<br />cy4=div_4.quot;<br />cy5=div_5.quot;<br />cy6=div_6.quot;<br />cy7=div_7.quot;<br />cy8=div_7.rem;<br />}<br /><br />}[/syntax]<br /><br />Wiem, że wygląda strasznie, ale na razie nic innego nie przyszło mi do głowy <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /><br /><span style="color: #008000">Edycja:</span><br />Pozycja pusta (bez zera wiodącego) uzyskana jako dodatkowa definicja znaku (0xFF)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 19 paź 2013, o 11:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-10-19T00:02:30+01:00</updated>
<published>2013-10-19T00:02:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53509#p53509</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53509#p53509"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53509#p53509"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Nie mogłeś użyć zmiennej 16-bitowej ? w ty momencie ? to by rozwiązało chyba sprawę.<br /></div><br />Hmmm myślałem o tym. Ale później musiałbym chyba zrobić rzutowanie na typ 8 bit ?<br /><br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />działa działa  ale żeby pomóc to musiałbyś pokazać w kodzie co próbowałeś robić i jakie błędy ci wyskakiwały<br /></div><br />Zaraz wrzucę filmik. Bo inaczej tego nie jestem w stanie opisać.  W kodzie jest tylko zmiana polegająca na dodaniu PROGMEM w definicji tablicy. <br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />napisać na to jedną krótką funkcję formatującą dane do tablicy i to jeszcze z możliwością np pokazywania zer nieznaczących albo bez pokazywania<br /></div><br />No właśnie, ale chyba przez takie dzielenie jak opisałem...<br /><br /><div class="quotetitle">Antystatyczny napisał(a):</div><div class="quotecontent"><br />Hmm... i mam pewien pomysł na poprawienie obsługi wyświetlacza...<br /></div><br />A to bardzo ciekawy jestem jaki to pomysł <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><br /><span style="color: #00BF00">EDYCJA:</span><br /><br />Oto filmik:<br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><br />Jak widać część znaków ma niewłaściwą konfigurację segmentów. Zmiana dotyczyła tylko umieszczenia PROGMEM w definicjach, np:<br />[syntax=c]const uint8_t data&#91;&#93; PROGMEM = {<br />0xC0,// 0<br />0xF9,// 1<br />0xA4,// 2<br />0xB0,// 3<br />0x99,// 4<br />0x92,// 5<br />0x82,// 6<br />0xD8,// 7<br />0x80,// 8<br />0x90,// 9<br />0x88,// 10  A<br />0x83,// 11  b<br />0xC6,// 12  C<br />0xA1,// 13  d<br />0x86,// 14  E<br />0x8E,// 15  F<br />0xC2,// user def<br />0x89,// user def<br />0x8C,// user def<br />0xB6,// user def<br />0xC9,// user def<br />0xAD,// user def<br />0x9B,// user def<br />0xA3,// user def<br />0x9C,// user def<br />0xC1,// user def<br />0xC8,// user def<br />0xAB,// user def<br />0x8F,// user def<br />0xB9,// user def<br />0x7F,// user def<br />};[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 19 paź 2013, o 00:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-18T23:47:54+01:00</updated>
<published>2013-10-18T23:47:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53508#p53508</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53508#p53508"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53508#p53508"><![CDATA[
<div class="quotetitle">sq8dsr napisał(a):</div><div class="quotecontent"><br />1. sterowanie 8 anodami powoduje, że powstał problem przy użyciu mechanizmu z Bluebooka. Ostatnia wartość przy przesuwaniu bitu to 128. Następny krok to 256 czyli przekracza wartość jednobajtową. Więc nie mogłem zrobić porównania if(anoda&gt;128) anoda=1; Poradziłem sobie tablicą z 9-cioma elementami.<br /></div><br /><br />Nie mogłeś użyć zmiennej 16-bitowej ? w ty momencie ? to by rozwiązało chyba sprawę.<br /><br /><div class="quotetitle">sq8dsr napisał(a):</div><div class="quotecontent"><br />2. Nie wiem czemu ale próba użycia tablic zapisanych w progmem nie działa<br /></div><br /><br />działa działa <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ale żeby pomóc to musiałbyś pokazać w kodzie co próbowałeś robić i jakie błędy ci wyskakiwały<br /><br /><div class="quotetitle">sq8dsr napisał(a):</div><div class="quotecontent"><br />3. Zastanawiam się jak w prosty sposób konwertować liczbę na poszczególne cyfry do przesyłania na odpowiednie pozycje.<br />Przychodzi mi do głowy tylko używanie kaskady dzieleń z resztą przez kolejno zmniejszające się potęgi liczby 10. Ale może jest jakaś inna, prostsza metoda.<br /></div><br /><br />napisać na to jedną krótką funkcję formatującą dane do tablicy i to jeszcze z możliwością np pokazywania zer nieznaczących albo bez pokazywania<br /><br />.... bardzo fajne ćwiczenia - ten projekt <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bardzo fajne<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 paź 2013, o 23:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-10-18T23:36:48+01:00</updated>
<published>2013-10-18T23:36:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53505#p53505</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53505#p53505"/>
<title type="html"><![CDATA[Re: wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53505#p53505"><![CDATA[
Projekt programistyczny to brzmi dumnie <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> Jak najbardziej jestem za, choć nie sądziłem, że można to nazwać projektem <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 18 paź 2013, o 23:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-10-18T23:24:33+01:00</updated>
<published>2013-10-18T23:24:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53501#p53501</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53501#p53501"/>
<title type="html"><![CDATA[wyświetlacz 7 seg]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4520&amp;p=53501#p53501"><![CDATA[
Cześć<br /><br />Wszyscy znamy wyświetlacze 7 segmentowe. Mimo prostoty ich konstrukcji, w sumie łopatologicznego sterowania ich obsługa programowa wcale nie jest taka prosta. Przynajmniej dla mnie. W moim odczuciu dużo prościej jest wziąć HD47780, dobra biblioteka i sprawa jest załatwiona.<br />No nie mniej jednak wyświetlacze LED są w wielu miejscach niezastąpione.<br /><br />Może opis się komuś przyda <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><br />Ostatnie poradniki Mirka dotyczące rejestrów przesuwnych natchnęły mnie do tego by pokusić się o sterowanie 8-mio pozycyjnym wyświetlaczem LED przy użyciu 3 pinów MCU. W planach mam również LED 16-seg, ale nie mam jeszcze samych wyświetlaczy (wyglądają niesamowicie fajnie, jak w starych flipperach). <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />W wyniku owego &quot;natchnienia&quot; powstał twór (na płytce uniwersalnej). Zawiera MCU, oraz trzy rejestry 74595 (trzy są pod kątem 16-seg). <br />Schemat jest następujący (bez części MCU):<br /><a href="http://forum.atnel.pl/_obrazki/o/1589/66e9e7d1afa633666986303f23a2a040.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1589/66e9e7d1afa633666986303f23a2a040.png" alt="Obrazek" /></a><br /><br />Ostatecznie nie udało mi się dostać układu UDN więc zastosowałem 8 oddzielnych tranzystorów PNP BC327<br />W układzie rzeczywistym dopięty jest w kaskadzie jeszcze trzeci rejestr, ale aktualnie nie używany.<br />Wyświetlacze są ze wsp. anodą (2 x 4 cyfry). Zarówno anody (przez PNP) jak i segmenty sterowane są oczywiście stanem niskim.<br /><br />Dane do rejestrów wysyłam przez sprzętowe SPI. Są to za każdym razem dwa bajty. Pierwszym bajtem jest informacja o stanie anod, a drugim informacja o stanie segmentów. Po przesłaniu następuje &quot;kłapnięcie&quot; latchem. Wejście latch jest połączone razem więc za każdym razem zatrzaśnięte są jednocześnie dwa bajty. Używam nieco zmodyfikowanej funkcji Mirka.<br /><br /><br /><br />common.c:<br />[syntax=c]/*<br /> * common.c<br /> *<br /> *  Created on: 18-10-2013<br /> *      Author: Michał Uryga<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &quot;common.h&quot;<br />#include &quot;SPI/spi.h&quot;<br /><br />volatile uint8_t cy1, cy2, cy3, cy4, cy5, cy6, cy7, cy8;<br /><br /><br />// tablica wzorów znaków<br />const uint8_t data&#91;&#93; = {<br />0xC0,// 0<br />0xF9,// 1<br />0xA4,// 2<br />0xB0,// 3<br />0x99,// 4<br />0x92,// 5<br />0x82,// 6<br />0xD8,// 7<br />0x80,// 8<br />0x90,// 9<br />0x88,// 10  A<br />0x83,// 11  b<br />0xC6,// 12  C<br />0xA1,// 13  d<br />0x86,// 14  E<br />0x8E,// 15  F<br />0xC2,// user def<br />0x89,// user def<br />0x8C,// user def<br />0xB6,// user def<br />0xC9,// user def<br />0xAD,// user def<br />0x9B,// user def<br />0xA3,// user def<br />0x9C,// user def<br />0xC1,// user def<br />0xC8,// user def<br />0xAB,// user def<br />0x8F,// user def<br />0xB9,// user def<br />0x7F,// user def<br />};<br /><br /><br />const uint8_t snake&#91;&#93; = {<br />0xFC,// user def<br />0xBD,// user def<br />0xAF,// user def<br />0xE7,// user def<br />0xF3,// user def<br />0xBB,// user def<br />0x9F,// user def<br />0xDE,// user def<br />};<br /><br />// tablica sterowania anodami<br />const uint8_t anody&#91;&#93; = {<br />1, 2, 4, 8, 16, 32, 64, 128, 255<br />};<br /><br /><br /><br />void timer_init(void){<br /><br />// ustawienie TIMER0<br />TCCR0 |= (1&lt;&lt;WGM01);// tryb CTC<br />TCCR0 |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);// preskaler 1024<br />OCR0 = 80;// wartosć do porównania (dotaktowy podział przez 80)<br />TIMSK |= (1&lt;&lt;OCIE0);// zezwolenie na przerwanie CompareMatch (porównanie z OCR0)<br />}<br /><br /><br /><br /><br />// procedura obsługi przerwania<br /><br />ISR(TIMER0_COMP_vect)<br />{<br />static uint8_t licznik=0; // zmienna licznik - wzkazuje poszczególnie anody<br /><br />if (licznik==0){ // załącznie wyświtelacza 1 <br />led_disp(~anody&#91;licznik&#93;, data&#91;cy1&#93;); //wysłanie danych do rejestrów przez SPI (negacja liczby dla anod)<br />}<br /><br />if (licznik==1){ // załącznie wyświtelacza 2<br />led_disp(~anody&#91;licznik&#93;, data&#91;cy2&#93;);<br />}<br /><br />if (licznik==2){ // załącznie wyświtelacza 3<br />led_disp(~anody&#91;licznik&#93;, data&#91;cy3&#93;);<br />}<br /><br />if (licznik==3){ // załącznie wyświtelacza 4<br />led_disp(~anody&#91;licznik&#93;, data&#91;cy4&#93;);<br />}<br /><br />if (licznik==4){ // załącznie wyświtelacza 5<br />led_disp(~anody&#91;licznik&#93;, data&#91;cy5&#93;);<br />}<br /><br />if (licznik==5){ // załącznie wyświtelacza 6<br />led_disp(~anody&#91;licznik&#93;, data&#91;cy6&#93;);<br />}<br /><br />if (licznik==6){ // załącznie wyświtelacza 7<br />led_disp(~anody&#91;licznik&#93;, data&#91;cy7&#93;);<br />}<br /><br />if (licznik==7){ // załącznie wyświtelacza 8<br />led_disp(~anody&#91;licznik&#93;, data&#91;cy8&#93;);<br />}<br /><br />licznik++; //przesunięcie załączonej anody<br /><br /><br />if(licznik==8) { //powrót do pierwszej anody<br />licznik=0;<br />}<br /><br />}[/syntax]<br /><br /><br />common.h:<br />[syntax=c]/*<br /> * common.h<br /> *<br /> *  Created on: 18-10-2013<br /> *      Author: Michał Uryga<br /> */<br /><br />#ifndef COMMON_H_<br />#define COMMON_H_<br /><br /><br />extern const uint8_t data&#91;&#93;;<br />extern const uint8_t snake&#91;&#93;;<br />extern const uint8_t anody&#91;&#93;;<br /><br />extern volatile uint8_t cy1, cy2, cy3, cy4, cy5, cy6, cy7, cy8;;<br /><br />void timer_init(void);<br /><br /><br />#endif /* COMMON_H_ */[/syntax]<br /><br />main.c:<br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 17-10-2013<br /> *      Author: Michał Uryga<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &quot;SPI/spi.h&quot;<br />#include &quot;common.h&quot;<br /><br />#define MOSI PB5<br />#define SCK PB7<br />#define CS PB4<br /><br />uint8_t i,j;<br /><br /><br />int main(void) {<br /><br /><br />sei(); // włączenie przerwań<br />InitSpi(); // włączenie obsługi sprzętowego SPI<br />timer_init(); // włączenie sprzętowego timera<br /><br /><br />while(1) {<br /><br />for(i=0; i&lt;31; i++) {<br />cy1=i;<br />cy2=i+1;<br />cy3=i+2;<br />cy4=i+3;<br />cy5=i+4;<br />cy6=i+5;<br />cy7=i+6;<br />cy8=i+7;<br />_delay_ms(200);<br />}<br /><br /><br />} // koniec WHILE<br />} // koniec MAIN[/syntax]<br /><br />zmodyfikowana funkcja Mirka:<br />[syntax=c]void led_disp(uint8_t anodes, uint8_t segments) {<br /><br />SPDR = anodes;//wysłanie danych do włączenia anod<br />while( !(SPSR &amp; (1&lt;&lt;SPIF)) ); //czekanie na zakończenie wysyłania <br /><br />SPDR = segments;//wysłanie danych do włączenia segmentów<br />while( !(SPSR &amp; (1&lt;&lt;SPIF)) ); //czekanie na zakończenie wysyłania<br /><br />PORTB |= (1&lt;&lt;CS);// Zatrzaśnięcie latch'a<br />PORTB &amp;= ~(1&lt;&lt;CS);<br /><br />}[/syntax]<br /><br />Napotkałem jednak trzy problemy:<br />1. sterowanie 8 anodami powoduje, że powstał problem przy użyciu mechanizmu z Bluebooka. Ostatnia wartość przy przesuwaniu bitu to 128. Następny krok to 256 czyli przekracza wartość jednobajtową. Więc nie mogłem zrobić porównania if(anoda&gt;128) anoda=1; Poradziłem sobie tablicą z 9-cioma elementami.<br /><br />2. Nie wiem czemu ale próba użycia tablic zapisanych w progmem nie działa. Zrobię później filmik i pokażę o co chodzi.<br /><br />3. Zastanawiam się jak w prosty sposób konwertować liczbę na poszczególne cyfry do przesyłania na odpowiednie pozycje.<br />Przychodzi mi do głowy tylko używanie kaskady dzieleń z resztą przez kolejno zmniejszające się potęgi liczby 10. Ale może jest jakaś inna, prostsza metoda...<br /><br />Na koniec filmik przedstawiający pracujący układ <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 18 paź 2013, o 23:24</p><hr />
]]></content>
</entry>
</feed>