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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-01-17T20:10:17+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=14218&amp;mode</id>
<entry>
<author><name><![CDATA[dito1995]]></name></author>
<updated>2016-01-17T20:10:17+01:00</updated>
<published>2016-01-17T20:10:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150874#p150874</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150874#p150874"/>
<title type="html"><![CDATA[Re: Multipleksowanie, definiowanie portów.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150874#p150874"><![CDATA[
Wystarczy, że zostałem naprowadzony na to jak przerobić kod programu, taka przeróbka ma logiczny sens (podział na 2 tablice), więc pozostaje czekać aż dostanę płytkę i będę mógł na &quot;żywo&quot; przetestować program w układzie docelowym. Póki co pobawię się swoim kodem, ale dzięki za chęci. <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=5394">dito1995</a> — 17 sty 2016, o 20:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[cezar[pl]]]></name></author>
<updated>2016-01-17T20:04:59+01:00</updated>
<published>2016-01-17T20:04:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150872#p150872</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150872#p150872"/>
<title type="html"><![CDATA[Re: Multipleksowanie, definiowanie portów.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150872#p150872"><![CDATA[
Cześć<br />Chciałem tylko pokazać jak to zrobiłem. Więc nie jest to cały kod. Kopiuj, wklej i są błędy. Ale zasada zachowana <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" />. Jak chceszto mogę podesłać cały kod. Było to pisane na Atmegę8<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1182">cezar[pl]</a> — 17 sty 2016, o 20:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[dito1995]]></name></author>
<updated>2016-01-17T20:03:11+01:00</updated>
<published>2016-01-17T20:03:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150870#p150870</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150870#p150870"/>
<title type="html"><![CDATA[Re: Multipleksowanie, definiowanie portów.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150870#p150870"><![CDATA[
Dziękuję za pomoc, jak tylko dokończę płytkę to pochwalę się wynikami modyfikacji programu.  <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=5394">dito1995</a> — 17 sty 2016, o 20:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-01-17T19:51:17+01:00</updated>
<published>2016-01-17T19:51:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150868#p150868</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150868#p150868"/>
<title type="html"><![CDATA[Re: Multipleksowanie, definiowanie portów.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150868#p150868"><![CDATA[
Witam<br /><div class="quotetitle">cezar&#91;pl] napisał(a):</div><div class="quotecontent"><br />a rozwiązałem to tak<br /></div><br />Nie wiem czy nie brakuje Ci klamer - tak jak w &quot;moim&quot; przykładzie dla pierwszej cyfry.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 17 sty 2016, o 19:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[cezar[pl]]]></name></author>
<updated>2016-01-17T19:33:12+01:00</updated>
<published>2016-01-17T19:33:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150865#p150865</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150865#p150865"/>
<title type="html"><![CDATA[Re: Multipleksowanie, definiowanie portów.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150865#p150865"><![CDATA[
Cześć<br /> Tak, też z tym walczyłem, a rozwiązałem to tak<br />w pliku .h<br />[syntax=c]// definicje bitów dla poszczególnych segmentów LED<br />#define SEG_A (1&lt;&lt;PB0)<br />#define SEG_B (1&lt;&lt;PC0)<br />#define SEG_C (1&lt;&lt;PB4)<br />#define SEG_D (1&lt;&lt;PB2)<br />#define SEG_E (1&lt;&lt;PB1)<br />#define SEG_F (1&lt;&lt;PC5)<br />#define SEG_G (1&lt;&lt;PB5)<br />#define SEG_DP (1&lt;&lt;PC3)<br />#define NIC 10[/syntax]<br /><br />w pliku .c<br />[syntax=c]// definicje tablic zawierających definicje bitowe cyfr LED<br />const uint8_t cyfry&#91;12&#93; PROGMEM = {<br />~(SEG_A|SEG_C|SEG_D|SEG_E),// 0<br />~(SEG_C),// 1<br />~(SEG_A|SEG_D|SEG_E|SEG_G),// 2<br />~(SEG_A|SEG_C|SEG_D|SEG_G),// 3<br />~(SEG_C|SEG_G),// 4<br />~(SEG_A|SEG_C|SEG_D|SEG_G),// 5<br />~(SEG_A|SEG_C|SEG_D|SEG_E|SEG_G),// 6<br />~(SEG_A|SEG_C),// 7<br />~(SEG_A|SEG_C|SEG_D|SEG_E|SEG_G),// 8<br />~(SEG_A|SEG_C|SEG_D|SEG_G),// 9<br />~(SEG_DP),// 10 DP<br />//~(SEG_A|SEG_E|SEG_C|SEG_G),// 11 Litera A<br />0xFF// 12 NIC (puste miejsce)<br />};<br /><br />const uint8_t cyfry1&#91;12&#93; PROGMEM = {<br />~(SEG_B|SEG_F),// 0<br />~(SEG_B),// 1<br />~(SEG_B),// 2<br />~(SEG_B),// 3<br />~(SEG_B|SEG_F),// 4<br />~(SEG_F),// 5<br />~(SEG_F),// 6<br />~(SEG_B),// 7<br />~(SEG_B|SEG_F),// 8<br />~(SEG_B|SEG_F),// 9<br />//~(SEG_DP),// 10 Litera S<br />//~(SEG_A|SEG_E|SEG_C|SEG_G),// 11 Litera A<br />0xFF// 12 NIC (puste miejsce)<br />};[/syntax]<br /><br />i dalej w pliku .c<br />[syntax=c]if(licznik==1)<br />(LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy1&#93; )),//Gdy zapalony wyswietlacz 1 podaj wartos zmiennej cy1<br />(LED_DATA1 = pgm_read_byte( &amp;cyfry1&#91;cy1&#93; ));<br />else if(licznik==2)<br />(LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy2&#93; )),//Gdy zapalony wyswietlacz 2 podaj wartos zmiennej cy2<br />(LED_DATA1 = pgm_read_byte( &amp;cyfry1&#91;cy2&#93; ));<br />else if(licznik==4)<br />(LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy3&#93; )),//Gdy zapalony wyswietlacz 3 podaj wartos zmiennej cy3<br />(LED_DATA1 = pgm_read_byte( &amp;cyfry1&#91;cy3&#93; ));<br />else if(licznik==8)<br />(LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy4&#93; )),//Gdy zapalony wyswietlacz 4 podaj wartos zmiennej cy4<br />(LED_DATA1 = pgm_read_byte( &amp;cyfry1&#91;cy4&#93; ));[/syntax]<br /><br />Myślę, że nie naruszam zasad publikując część biblioteki z BB<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1182">cezar[pl]</a> — 17 sty 2016, o 19:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-01-17T17:22:10+01:00</updated>
<published>2016-01-17T17:22:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150851#p150851</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150851#p150851"/>
<title type="html"><![CDATA[Re: Multipleksowanie, definiowanie portów.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150851#p150851"><![CDATA[
Witam<br />Pierwsze co mi przychodzi do głowy, to stworzenie dwóch tablic z segmentami - jedna dla PORTB druga dla PORTC a w wyświetlaniu odwoływać się do nich:<br />[syntax=c]if(licznik==1) {ANODY_PORTB = pgm_read_byte (&amp;cyfry&#91;cy1&#93;),<br />                ANODY_PORTC = pgm_read_byte (&amp;cyfry&#91;cy1&#93;;}<br />....<br />....[/syntax] <br />Musisz tylko pamiętać o maskowaniu na portach bo to &quot; = &quot; będzie Ci mieszało na wyjściach.<br />To taki pomysł &quot;na wczoraj&quot; - na pewno można szybciej i ładniej.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 17 sty 2016, o 17:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[dito1995]]></name></author>
<updated>2016-01-17T16:31:50+01:00</updated>
<published>2016-01-17T16:31:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150847#p150847</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150847#p150847"/>
<title type="html"><![CDATA[Multipleksowanie, definiowanie portów.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14218&amp;p=150847#p150847"><![CDATA[
Witam<br /><br />Próbuję uruchomić projekt w którym wykorzystuję wyświetlacze 7 segmentowe, RTC itp. Płytkę zaprojektowałem w taki sposób, żeby mieć jak najkrótsze ścieżki, przez co do podłączenia katod wyświetlaczy użyłem dwóch różnych portów i mam teraz problem z uruchomieniem multipleksowania. Fragment kodu z BB:<br /><br />[syntax=c]d_led.h<br /><br />#define LED_DATA PORTC // port z podłączonymi segmentami<br />#defineLED_DATA_DIR DDRC // rejestr kierunku portu katod wyświetlaczy<br /><br /><br />#define LED_ANODY PORTA// port z podłączonymi anodami- 4 bity najmłodsze<br />#defineANODY_DIR DDRA// rejestr kierunku portu anod wyświetlaczy<br /><br /><br />#define CA1 (1&lt;&lt;PA0)// CA1 oznacza bit nr.0 portu A<br />#define CA2 (1&lt;&lt;PA1)// CA2 oznacza bit nr.1 portu A<br />#define CA3 (1&lt;&lt;PA2)// CA3 oznacza bit nr.2 portu A<br />#define CA4 (1&lt;&lt;PA3)// CA4 oznacza bit nr.3 portu A<br />#define CA5 (1&lt;&lt;PA4)// CA3 oznacza bit nr.4 portu A<br />#define CA6 (1&lt;&lt;PA5)// CA4 oznacza bit nr.5 portu A<br /><br /><br />// definicje bitów dla poszczególnych segmentów LED<br />#define SEG_A (1&lt;&lt;PB0)<br />#define SEG_B (1&lt;&lt;PB1)<br />#define SEG_C (1&lt;&lt;PC2)<br />#define SEG_D (1&lt;&lt;PC3)<br />#define SEG_E (1&lt;&lt;PC4)<br />#define SEG_F (1&lt;&lt;PC5)<br />#define SEG_G (1&lt;&lt;PC6)<br />#define SEG_DP (1&lt;&lt;PC7)[/syntax]<br /><br /><br />[syntax=c]#define SEG_A (1&lt;&lt;PB0)<br />#define SEG_B (1&lt;&lt;PB1)<br />#define SEG_C (1&lt;&lt;PC2)<br />#define SEG_D (1&lt;&lt;PC3)<br />#define SEG_E (1&lt;&lt;PC4)<br />#define SEG_F (1&lt;&lt;PC5)<br />#define SEG_G (1&lt;&lt;PC6)<br />#define SEG_DP (1&lt;&lt;PC7)[/syntax]<br />Ten fragment pokazuje fizyczne podłączenie segmentów. W przypadku korzystanie tylko z jednego portu nie ma problemu, jednak tutaj stanąłem w miejscu i nie wiem jak wykorzystać 2 porty. Prosiłbym o wskazówki jak zmodyfikować plik nagłówkowy, żeby było możliwe korzystanie z dwóch portów.<br /><br />Z góry dziękuję za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5394">dito1995</a> — 17 sty 2016, o 16:31</p><hr />
]]></content>
</entry>
</feed>