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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-01-05T14:51:30+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=3989&amp;mode</id>
<entry>
<author><name><![CDATA[BitRider]]></name></author>
<updated>2018-01-05T14:51:30+01:00</updated>
<published>2018-01-05T14:51:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=201521#p201521</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=201521#p201521"/>
<title type="html"><![CDATA[Re: multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=201521#p201521"><![CDATA[
Widzę kolega chce złoty szpadel otrzymać.<br /><br />Poczytaj o deklaracjach i definijach na początku BB.<br /><br />Wysłane z mojego SM-G900F przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7037">BitRider</a> — 5 sty 2018, o 14:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gadzik90]]></name></author>
<updated>2018-01-05T13:58:00+01:00</updated>
<published>2018-01-05T13:58:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=201520#p201520</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=201520#p201520"/>
<title type="html"><![CDATA[Re: multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=201520#p201520"><![CDATA[
Pozwalam sobie zadać pytanie tutaj żeby nie zakładać nowego tematu. Mianowicie: w pliku d_led.c są deklaracje zmiennych cy1 , cy2... (str. 202),  i te same zmienne są zadeklarowane w pliku d_led.h (str. 203 - extern volatile....). Z czego wynika konieczność deklarowania tych zmiennych w obydwu plikach?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15183">gadzik90</a> — 5 sty 2018, o 13:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[perlon]]></name></author>
<updated>2013-08-27T23:46:28+01:00</updated>
<published>2013-08-27T23:46:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47274#p47274</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47274#p47274"/>
<title type="html"><![CDATA[Re: multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47274#p47274"><![CDATA[
Moje rozwiązanie problemu przestawiłem w <a href="http://forum.atnel.pl/topic4002.html"  class="postlink">tym wątku</a>. Jest tam również konfiguracja kierunków zasilania wyświetlacza.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=382">perlon</a> — 27 sie 2013, o 23:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[slu_1982]]></name></author>
<updated>2013-08-27T20:20:19+01:00</updated>
<published>2013-08-27T20:20:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47256#p47256</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47256#p47256"/>
<title type="html"><![CDATA[Re: multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47256#p47256"><![CDATA[
Powiedzmy że sobie poradziłem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />A teraz pytanie jak odwrócić przebieg anod  <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" /> <br /><br />[syntax=c]// ****** definicja funkcji inicjalizującej pracę z wyświetlaczem multipleksowanym<br />void d_led_init(void)<br />{<br />LED_DATA_DIR = 0xFF;   // wszystkie piny portu C jako WYJŚCIA(katody)<br />LED_DATA = 0xFF;// wygaszenie wszystkich katod – stan wysoki<br />ANODY_DIR |= CA1 | CA2 | CA3 | CA4;// 4 piny portu A jako WYJŚCIA (anody wyświetlaczy)<br />ANODY_PORT |= CA1 | CA2 | CA3  | CA4;// wygaszenie wszystkich wyświetlaczy - anody<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 = 39;// dodatkowy podział przez 39 (rej. przepełnienia)<br />TIMSK |= (1&lt;&lt;OCIE0);// zezwolenie na przerwanie CompareMatch<br />}<br /><br /><br />// ================= PROCEDURA OBSŁUGI PRZERWANIA – COMPARE MATCH<br />ISR(TIMER0_COMP_vect)<br />{<br />static uint8_t licznik=1;// zmienna do przełączania kolejno anod wyrwietlacza<br /><br />ANODY_PORT = (ANODY_PORT &amp; 0xF0);// wygaszenie wszystkich wyświetlaczy<br /><br /><br />if(licznik==1) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy1&#93; );// gdy zapalony wyśw.1 podaj stan zmiennej c1<br />else if(licznik==2) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy2&#93; );// gdy zapalony wyśw.2 podaj stan zmiennej c2<br />else if(licznik==4) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy3&#93; );// gdy zapalony wyśw.3 podaj stan zmiennej c3<br />else if(licznik==8) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy4&#93; );// gdy zapalony wyśw.4 podaj stan zmiennej c4<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 /><span style="color: #FF0000">Kody wklejamy przy pomocy syntax=c - Anty. (Wyedytuj ten post, by podejrzeć, o co chodzi)</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1678">slu_1982</a> — 27 sie 2013, o 20:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wojtek001]]></name></author>
<updated>2013-08-26T19:48:07+01:00</updated>
<published>2013-08-26T19:48:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47155#p47155</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47155#p47155"/>
<title type="html"><![CDATA[Re: multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47155#p47155"><![CDATA[
masz gotowca:(przystosowany do twoich predefinicji)<br /><br />[syntax=c]PORTD |= (0b00000011 &amp; tablica&#91;cyfra&#93;);<br />PORTB |= ((0b00011100 &amp; tablica&#91;cyfra&#93;)&gt;&gt;2);<br />PORTC |= ((0b00100000 &amp; tablica&#91;cyfra&#93;)&gt;&gt;1);<br />PORTC |= ((0b01000000 &amp; tablica&#91;cyfra&#93;)&gt;&gt;3);[/syntax]<br /><br />jak wiadomo w kodzie łatwo popełnić błąd (szczególnie jak się piszę tak na sucho jak ja teraz) więc wypróbuj i napisz czy działa.<br /><br />to co ci napisałem wstawiasz zamiast tej linii portc = tablica[cyfry]; i wpisujesz takie dane do definicji seg jak nam napisałeś.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=500">Wojtek001</a> — 26 sie 2013, o 19:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[charsz]]></name></author>
<updated>2013-08-26T19:17:14+01:00</updated>
<published>2013-08-26T19:17:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47151#p47151</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47151#p47151"/>
<title type="html"><![CDATA[Re: multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47151#p47151"><![CDATA[
Nie wiem co tam masz dalej w programie, ale chyba taka postac bedzie najlatwiejsza dla Ciebie do zmiany w calym programie:<br />[syntax=c]#define    SEG_A_B_PORT    PORTD   // port z podłączonymi segmentami A i B<br />//...<br />#define    SEG_F_G_PORT    PORTC   // port z podłączonymi segmentami F i G<br />#define    SEG_A_B_DATA_DIR DDRD   // rejestr kierunku portu katod wyświetlaczy A i B<br />//...<br />#define    SEG_F_G_DATA_DIR DDRC   // rejestr kierunku portu katod wyświetlaczy F i G<br /><br /><br />#define SEG_A (1&lt;&lt;PD0)<br />#define SEG_B (1&lt;&lt;PD1)<br />#define SEG_C (1&lt;&lt;PB0)<br />#define SEG_D (1&lt;&lt;PB1)<br />#define SEG_E (1&lt;&lt;PB2)<br />#define SEG_F (1&lt;&lt;PC4)<br />#define SEG_G (1&lt;&lt;PC3) <br /><br />//i teraz mozesz sie bawic: <br />SEG_A_B_PORT &amp;= ~SEG_A;<br />SEG_F_G_PORT |=  SEG_F;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=926">charsz</a> — 26 sie 2013, o 19:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wojtek001]]></name></author>
<updated>2013-08-26T19:18:33+01:00</updated>
<published>2013-08-26T19:10:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47149#p47149</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47149#p47149"/>
<title type="html"><![CDATA[Re: multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47149#p47149"><![CDATA[
Pisze z komorki i jest niewygodnie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=500">Wojtek001</a> — 26 sie 2013, o 19:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[slu_1982]]></name></author>
<updated>2013-08-26T19:03:20+01:00</updated>
<published>2013-08-26T19:03:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47148#p47148</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47148#p47148"/>
<title type="html"><![CDATA[Re: multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47148#p47148"><![CDATA[
Mógłbym prosić Cię o jeden przykład ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1678">slu_1982</a> — 26 sie 2013, o 19:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wojtek001]]></name></author>
<updated>2013-08-26T19:01:57+01:00</updated>
<published>2013-08-26T19:01:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47147#p47147</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47147#p47147"/>
<title type="html"><![CDATA[Re: multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47147#p47147"><![CDATA[
Wystarczy zrobic 3 przypisania (do kazdego) portu dane z tablicy ze stosownymi maskami.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=500">Wojtek001</a> — 26 sie 2013, o 19:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[slu_1982]]></name></author>
<updated>2013-08-26T18:58:51+01:00</updated>
<published>2013-08-26T18:58:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47144#p47144</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47144#p47144"/>
<title type="html"><![CDATA[Re: multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47144#p47144"><![CDATA[
Hej!<br />Właśnie problem mam z tym że, nie chcę używać całego portu. Chcę użyć części portu B, części portu C i części portu D.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1678">slu_1982</a> — 26 sie 2013, o 18:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[D_C]]></name></author>
<updated>2013-08-26T19:02:26+01:00</updated>
<published>2013-08-26T18:57:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47143#p47143</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47143#p47143"/>
<title type="html"><![CDATA[Re: multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47143#p47143"><![CDATA[
[syntax=c]#define    LED_DATA    PORTB   // port z podłączonymi segmentami<br />#define      LED_DATA_DIR DDRB   // rejestr kierunku portu katod wyświetlaczy[/syntax]<br /><br />spróbuj tak  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i analogicznie zrób dla pozostałych portów<br /><br />a anody gdzie zamierzasz podłączyć?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1165">D_C</a> — 26 sie 2013, o 18:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[slu_1982]]></name></author>
<updated>2013-08-26T18:47:28+01:00</updated>
<published>2013-08-26T18:47:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47142#p47142</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47142#p47142"/>
<title type="html"><![CDATA[multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3989&amp;p=47142#p47142"><![CDATA[
Cześć,<br /><br />pisze tu ponieważ mam problem. Nie mogę sobie pozwolić na przypisanie całego portu C do multipleksu led tak jak w zamieszczonym kodzie:<br /><br />[syntax=c]// definicje portów i pinów wyświetlacza używanych dla ułatwienia w programie jako stałe preprocesora<br />#define LED_DATA PORTC// port z podłączonymi segmentami<br />#defineLED_DATA_DIR DDRC// rejestr kierunku portu katod wyświetlaczy<br />#define ANODY_PORT PORTD// port z podłączonymi anodami- 4 bity najmłodsze<br />#define ANODY_DIR DDRD// rejestr kierunku portu anod wyświetlaczy<br /><br /><br />#define CA1 (1&lt;&lt;PD0)// CA1 oznacza bit nr.0 portu D<br />#define CA2 (1&lt;&lt;PD1)// CA2 oznacza bit nr.1 portu D<br />#define CA3 (1&lt;&lt;PD2)// CA3 oznacza bit nr.2 portu D<br />#define CA4 (1&lt;&lt;PD3)// CA4 oznacza bit nr.3 portu D<br /><br />// definicje bitów dla poszczególnych segmentów LED<br />#define SEG_A (1&lt;&lt;7)<br />#define SEG_B (1&lt;&lt;6)<br />#define SEG_C (1&lt;&lt;5)<br />#define SEG_D (1&lt;&lt;4)<br />#define SEG_E (1&lt;&lt;3)<br />#define SEG_F (1&lt;&lt;2)<br />#define SEG_G (1&lt;&lt;1)<br />#define SEG_DP (1&lt;&lt;0)[/syntax]<br /><br />Chciałbym aby wyjścia były przypisane do takich portów: <br />SEG_A (1&lt;&lt;PD0)<br />SEG_B(1&lt;&lt;PD1)<br />SEG_C(1&lt;&lt;PB0)<br />SEG_D(1&lt;&lt;PB1)<br />SEG_E(1&lt;&lt;PB2)<br />SEG_F(1&lt;&lt;PC4)<br />SEG_G(1&lt;&lt;PC3)  <br /><br /><br />Pomożecie ? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1678">slu_1982</a> — 26 sie 2013, o 18:47</p><hr />
]]></content>
</entry>
</feed>