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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-02-16T12:03:11+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=852&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-16T12:03:11+01:00</updated>
<published>2012-02-16T12:03:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2982#p2982</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2982#p2982"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2982#p2982"><![CDATA[
A no tak - jak coś nie wychodzi to się zawsze skraca tak byle by w podstawowy sposób działało <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> — 16 lut 2012, o 12:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[KoreX]]></name></author>
<updated>2012-02-16T10:37:09+01:00</updated>
<published>2012-02-16T10:37:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2979#p2979</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2979#p2979"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2979#p2979"><![CDATA[
Mam tego pełną świadomość, skracałem kod do jak najprostszej wersji(taka jak na początku w książce) i dlatego wygaszałem anody negacją całego portu z którego używam tylko 4rech pinów;)<br />Ale dziękuję za uwagę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=229">KoreX</a> — 16 lut 2012, o 10:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-16T00:23:29+01:00</updated>
<published>2012-02-16T00:23:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2976#p2976</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2976#p2976"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2976#p2976"><![CDATA[
Bardzo dobrze kombinujesz i teraz widzę że już zaskoczyłeś dobrze o co chodzi ale ...<br /><br />ale jedno ważne ALE ..... bo widzę, że w kodzie przerwania zaremowałeś bardzo WAŻNĄ linię<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">//ANODY_PORT = (ANODY_PORT &amp; 0xF0) | (~licznik &amp; 0x0F);  </div><br /><br />A za to na początku przerwania zamiast wykasować wszystkie ANODY to ty tam sobie niefrasobliwie przypisujesz na cały port zanegowaną wartość licznika.<br /><br />Przeczytaj sobie w książce z czym to się wiąże i jakie dwa babole popełniasz. Wprawdzie wyświetlanie niby ci działa ale:<br /><br />1. będziesz miał zjawisko &quot;duszków&quot; na wyświetlaczu<br />2. niszczysz zawartości innych nie używanych pinów portu na którym są ANODY !!!! to już bardzo źle ... <br /><br />a właśnie taki sposób jak w książce pokazałem - to nie na darmo - bo później ludzie piszą na różnych forach pytania typu:<br /><br />&quot;a od czego na moim wyświetlaczu w ciemności widać takie jakby duszki czy smużenie ???&quot;<br /><br />albo<br /><br />&quot;a dlaczego inne piny portu zmieniają swoje wartości - tam gdzie mam podłączone anody???&quot;<br /><br />jeszcze raz polecam - poczytaj o tym dokładnie - bo w tej linii gdzie ty sobie niefrasobliwie teraz przypisujesz licznik a nawet (o zgrozo komentarza nie zmieniłeś było tak)<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">ANODY_PORT = (ANODY_PORT &amp; 0xF0);   // wygaszenie wszystkich wyświetlaczy</div><br /><br />zresztą zawsze oryginał kodu źródłowego znajdziesz na DVD<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 16 lut 2012, o 00:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[KoreX]]></name></author>
<updated>2012-02-15T23:58:11+01:00</updated>
<published>2012-02-15T23:58:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2975#p2975</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2975#p2975"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2975#p2975"><![CDATA[
to pytam dalej, gdybym licznik startował od wartości 4 i wartość tą ustawiał na nim gdy licznik &gt;32 a zamiast 1,2,4,8 ustawił w warunkach 4,8,16,32 to rozwiązanie zadziała w moim przypadku, dobrze kombinuję?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=229">KoreX</a> — 15 lut 2012, o 23:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-15T23:56:28+01:00</updated>
<published>2012-02-15T23:56:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2974#p2974</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2974#p2974"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2974#p2974"><![CDATA[
A no to ok <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> jak coś to śmiało pytaj dalej ....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 15 lut 2012, o 23:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[KoreX]]></name></author>
<updated>2012-02-15T23:51:29+01:00</updated>
<published>2012-02-15T23:51:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2973#p2973</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2973#p2973"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2973#p2973"><![CDATA[
Zgada się, nie unoszę się wcale honorem, jestem bardzo wdzięczny za naprowadzenie na rozwiązanie problemu który drugą noc nie dawał mi spać:]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=229">KoreX</a> — 15 lut 2012, o 23:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-15T23:49:40+01:00</updated>
<published>2012-02-15T23:49:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2972#p2972</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2972#p2972"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2972#p2972"><![CDATA[
Wcale nie miałem na myśli że coś tam przepisujesz czy kasujesz bezmyślnie, nie wiem co niektórzy się tak zaraz honorem unoszą. Przecież staram się naprowadzić na problem a nie go podać na talerzu i jak widać się udało chyba ? A to czasem lepiej niż wprost ręką pokazać - bo dzięki temu że sam znajdziesz babola - na drugi raz lepiej będziesz się w tym orientował - tak mi się przynajmniej wydaje.<br /><br />A to że anody w książce są na 4 pierwszych pinach to wynika nawet nie z ustawień w pliku nagłówkowych tylko chociażby z wartości krążącego licznika. Przecież 1,2,4,8 - odpowiadają kolejno bitom: 0,1,2,3 zgadza się ? Warto nawet pod tym kątem czasem na kod patrzeć.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 15 lut 2012, o 23:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[KoreX]]></name></author>
<updated>2012-02-15T23:41:37+01:00</updated>
<published>2012-02-15T23:41:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2971#p2971</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2971#p2971"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2971#p2971"><![CDATA[
Juz wiem, ale gafa... Anody w książce są na 4rech pierwszych kolejnych pinach portu...<br />Z tym przepisuje/kasuje bezmyślnie to nie ma Pan racji bo nie o to w tym chodzi, ale no widać że nie mam jeszcze nawyków i nie widzę błedów na pierwszy rzut oka które dostrzega wieloletni programista:)<br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=229">KoreX</a> — 15 lut 2012, o 23:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-15T23:38:51+01:00</updated>
<published>2012-02-15T23:38:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2970#p2970</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2970#p2970"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2970#p2970"><![CDATA[
No i tak jak myślałem - pytanie teraz - czy rozumiesz zasadę jak to się dzieje, że zapalane są te kolejne anody wyświetlaczy ???? bo z tego widać że chyba w ogóle ? <br /><br />Masz rację, że zmienna licznik przyjmuje wartości 1,2,4,8 .... a jak to się ma do pinów na których ty podłączyłeś swoje anody ???? No przecież ma się to NIJAK .... poza tym, że jest to prawidłowy efekt, że dwa pierwsze ci się nie świecą przy takim kodzie a w ostatnie wyświetlają nie to co trzeba<br /><br />Niestety ale wygląda na to, że ty na razie dokonujesz zmian w kodzie na zasadzie takiej:<br /><br />&quot;hmmm może tą linijkę skasuję i może się uda pomimo to że podłączam anody inaczej&quot;<br /><br />nie mam racji ? ale tak szczerze <br /><br />napisz mi np dlaczego jeśli anody byłyby podłączone tak jak to opisane w książce to by się zapalały ??? z czego to konkretnie wynika ? hmmm?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 15 lut 2012, o 23:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[KoreX]]></name></author>
<updated>2012-02-15T23:14:31+01:00</updated>
<published>2012-02-15T23:14:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2968#p2968</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2968#p2968"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2968#p2968"><![CDATA[
Proszę bardzo<br />[syntax=c]ISR(TIMER0_COMP_vect)<br />{<br />static uint8_t licznik=1;// zmienna do przełączania kolejno anod wyswietlacza<br /><br />ANODY_PORT = ~licznik;// wygaszenie wszystkich wyświetlaczy<br /><br /><br />if(licznik==1) LED_DATA = pgm_read_byte( &amp;cyfry[cy1] );// gdy zapalony wyśw.1 podaj stan zmiennej cy1<br />else if(licznik==2) LED_DATA = pgm_read_byte( &amp;cyfry[cy2] );// gdy zapalony wyśw.2 podaj stan zmiennej cy2<br />else if(licznik==4) LED_DATA = pgm_read_byte( &amp;cyfry[cy3] );// gdy zapalony wyśw.3 podaj stan zmiennej cy3<br />else if(licznik==8) LED_DATA = pgm_read_byte( &amp;cyfry[cy4] );// gdy zapalony wyśw.4 podaj stan zmiennej cy4<br /><br /><br />//ANODY_PORT = (ANODY_PORT &amp; 0xF0) | (~licznik &amp; 0x0F);// cykliczne przełączanie kolejnej anody w każdym przerwaniu<br /><br />// operacje cyklicznego przesuwania bitu zapalającego anody w zmiennej licznik<br />licznik &lt;&lt;= 1;// przesunięcie zawartości bitów licznika o 1 w lewo<br />if (licznik&gt;8) licznik = 1;// jeśli licznik większy niż 8 to ustaw na 1<br />}[/syntax]<br /><br />zmienna licznik po kolei przyjmuje wartosc 1,2,4,8 (dzieki przesunięciom) i zapala nam kolejne wyswietlacze.<br />U mnie 2 pierwsze nie świecą a na 2ch ostatnich cyfry są odwrotnie ( na 3cim widać cy4 a na 4tym cy3)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=229">KoreX</a> — 15 lut 2012, o 23:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-15T23:09:50+01:00</updated>
<published>2012-02-15T23:09:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2967#p2967</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2967#p2967"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2967#p2967"><![CDATA[
Eeee no na sztywno to można wiesz gdzie leżeć <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... a nie wpisywać na port anod <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Pokaż że Pan co tam wymodziłeś w tym przerwaniu - bo to pokaże czy w ogóle zrozumiałeś zasadę sterowania takim wyświetlaczem ..... i wtedy spróbujemy coś pomóc OK ? bo tak w ciemno to można sobie gdybać i gdybać na 20 stron a i tak nic to nikomu nie da..... chyba że wróżka się znajdzie. No trzeba się w takich przypadkach jakimś kodem podeprzeć zadając takie pytanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 15 lut 2012, o 23:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[KoreX]]></name></author>
<updated>2012-02-15T22:40:36+01:00</updated>
<published>2012-02-15T22:40:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2963#p2963</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2963#p2963"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2963#p2963"><![CDATA[
jesli chodzi o timer0 to sprawdzalem noty i rejestry sie zgadzaja. jesli chodzi o obsluge przerwania to probowalem wpisac na sztywno 0 na port anod i wtedy swiecily wszystkie segmenty.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=229">KoreX</a> — 15 lut 2012, o 22:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-15T21:30:44+01:00</updated>
<published>2012-02-15T21:30:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2961#p2961</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2961#p2961"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2961#p2961"><![CDATA[
Zmiana kolejności anod nie ma tu znaczenia - ale czy wprowadziłeś odpowiednie poprawki do kodu w przerwaniu ? Tam jest klucz do sukcesu a coś mi się wydaje że ty tylko podmieniłeś piny w tych definicjach i teraz dziwisz się, że nie działa ? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 15 lut 2012, o 21:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szymwoj]]></name></author>
<updated>2012-02-15T21:03:34+01:00</updated>
<published>2012-02-15T21:03:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2957#p2957</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2957#p2957"/>
<title type="html"><![CDATA[Re: ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2957#p2957"><![CDATA[
Proponowałbym sprawdzić problem w sposób czysto elektryczny.<br />Podłącz pod PD2 i PD3 zwykle diody LED poprzez R300 ohm i spróbuj to zrobic na samych wyprowadzeniach AVR-a.<br />W ten sposób wyeliminujesz brak przejścia na płytce stykowej ( tanie płytki często mają lekko skorodowane styki).<br />W przeciwnym wypadku masz błąd w kodzie - sygnał na segmenty jest podawany w innym momencie niż na anody.<br />Pozdrowionka.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=86">szymwoj</a> — 15 lut 2012, o 21:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[KoreX]]></name></author>
<updated>2012-02-15T19:43:13+01:00</updated>
<published>2012-02-15T19:43:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2954#p2954</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2954#p2954"/>
<title type="html"><![CDATA[ATmega162 Multipleksowanie wyswietlaczy 7-seg.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=852&amp;p=2954#p2954"><![CDATA[
Witam, niedawno zacząłem naukę języka C bo z techniku elektronicznego nie udało mi się wynieść żadnego języka programowania...<br />Przy nauce pomocna jest mi książka Pana Mirka.<br />Zatrzymałem się na przerwaniach oraz multipleksowaniu 4 wyswietlaczy, jak w przykładzie z książki.<br />Jedynymi różnicami które są w moim przypadku to anody podłączone do PORTD (PD2...PD5)<br />oraz katody zajmujące cały PORTB.<br />Problem polega na tym że działają tylko 2 ostanie wyświetlacze ( 3, 4)<br />Próbowałem zmieniać kolejności w d_led.h<br />[syntax=c]<br />#defineCA1 (1&lt;&lt;PD2)<br />#defineCA2(1&lt;&lt;PD3)<br />#defineCA3(1&lt;&lt;PD4)<br />#defineCA4(1&lt;&lt;PD5)[/syntax]<br /><br />Z problemem walczę od wczoraj, proszę o pomoc jeśli trzeba jakiś dodatkowych informacji to proszę pisać.<br /><br />//edit. Zapomniałem napisać że atmege napędzam kwarcem 8MHz (fusy dobrze ustawione) dzielnik przez 8 wyłączony.<br /><br />Pozdrawiam<br />KoreX<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=229">KoreX</a> — 15 lut 2012, o 19:43</p><hr />
]]></content>
</entry>
</feed>