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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-12-30T15:28:32+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=5&amp;t=9930&amp;mode</id>
<entry>
<author><name><![CDATA[bogdanc]]></name></author>
<updated>2014-12-30T15:28:32+01:00</updated>
<published>2014-12-30T15:28:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111287#p111287</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111287#p111287"/>
<title type="html"><![CDATA[Re: Multipleskowanie LED  i kilka niezrozumiałości (oby tylk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111287#p111287"><![CDATA[
<div class="quotetitle">RadekB86 napisał(a):</div><div class="quotecontent"><br />Oczywiście że używam eclipsa  <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" />   <br />a do tego pliku &quot;iom32.h&quot; zdaje się że zaglądałem przy okazji omawiania przerwania ze strony 204<br />chyba że to inny plik ?<br /></div><br /><br />tak to ten sam plik z tym, że ten co ja podałem (Atmel tolchain )ma już aktualizacje  nowe nazwy wektorów przerwań etc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1319">bogdanc</a> — 30 gru 2014, o 15:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RadekB86]]></name></author>
<updated>2014-12-30T15:19:42+01:00</updated>
<published>2014-12-30T15:19:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111285#p111285</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111285#p111285"/>
<title type="html"><![CDATA[Re: Multipleskowanie LED  i kilka niezrozumiałości (oby tylk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111285#p111285"><![CDATA[
Oczywiście że używam eclipsa  <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" />   <br />a do tego pliku &quot;iom32.h&quot; zdaje się że zaglądałem przy okazji omawiania przerwania ze strony 204<br />chyba że to inny plik ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1837">RadekB86</a> — 30 gru 2014, o 15:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bogdanc]]></name></author>
<updated>2014-12-30T14:59:18+01:00</updated>
<published>2014-12-30T14:59:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111279#p111279</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111279#p111279"/>
<title type="html"><![CDATA[Re: Multipleskowanie LED  i kilka niezrozumiałości (oby tylk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111279#p111279"><![CDATA[
<div class="quotetitle">RadekB86 napisał(a):</div><div class="quotecontent"><br />#define SEG_A(1&lt;&lt;0)  itd itd.<br /><br />moje pytanie brzmi skąd kompilator wie że chodzi o ten konkretny PORTC czyli czemu niema zapisu typu:<br />#define SEG_A(1&lt;&lt;PC0 ) wiem że obie opcje działają<br /></div><br /><br />Załączając w projekcie[syntax=c]#include &lt;avr/io.h&gt;[/syntax]<br />Czyli wszystkie InputOutput / wejścia Wyjscia procesora  etc.<br /><br />Np dla:<br /><strong>/* avr/iom32.h - definitions for ATmega32 */</strong><br />gdzie są tam wszystkie definicje miedzy innymi:<br />[syntax=c]/* PORTC */<br />#define PC7     7<br />#define PC6     6<br />#define PC5     5<br />#define PC4     4<br />#define PC3     3<br />#define PC2     2<br />#define PC1     1<br />#define PC0     0[/syntax]<br /><br />gdzie to szukać ano tu (ja ma zainstalowany atmel tolchain w program files na dysku C, o ile korzystarz z AtmelTolchain ):<br /><a href="http://forum.atnel.pl/_obrazki/o/1319/0af0ea8c96c5cfdeb86c131ce076eb2e.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1319/0af0ea8c96c5cfdeb86c131ce076eb2e.jpg" alt="Obrazek" /></a><br /><br />Zatem kompilator wszedzie gdzie napotka np PC0 wstawi podczas kompilacji 0. <br />Jeśli uzywasz Eclipse to najdz myszką na PC0 podświetli Ci się makro i wcisnij F2 to ukaże Ci się owa cyfra 0 <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><div class="quotetitle">RadekB86 napisał(a):</div><div class="quotecontent"><br />ja podejrzewam że wystarczyło że daliśmy ten  cały PORTC  na stronie 203 jako wyjście na katody....ale może się mylę...<br />a jeśli mam rację to co jeśli zechcę sobie podłączyć zupełnie oddzielny nowy wyświetlacz z segmentami na zupełnie inny niezależny PORT skąd wtedy kompilator będzie wiedział o który mi chodzi ?<br /></div><br /><br />Tak ale musi być operacja przypaisania:<br />[syntax=c]LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy1&#93; );// gdy zapalony wyśw.1 podaj stan zmiennej c1[/syntax]<br /><br />gdzie:<strong> LED_DATA</strong> to nasz <strong>PORTC</strong> zdefiniowany na stronie 203.<br />[syntax=c]pgm_read_byte( &amp;cyfry&#91;cy1&#93; )[/syntax] odczyt bajtu z pamięci Flash zdefiniowanego na stronie 209 (dokładniej na płytcie DVD w kodzie źródłowym).<br /><br />gdzie  dla cyfry 0 w tablicy mamy :  <br />[syntax=c]~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F)[/syntax]<br /><br />i tu kompilator zamiast <strong>SEG_A</strong> wstawi <strong>(1&lt;&lt;0)</strong>; i odpowiednio dla pozostałych segmentów.<br /><br />Jeśli chcesz zmienić PORT z C np na D to zmieniasz go w jednym miejscu:<br /><br />[syntax=c]#define LED_DATA PORTD[/syntax]<br /><br />wówczas kompilator będzie wiedział, że chodzi Ci port D<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1319">bogdanc</a> — 30 gru 2014, o 14:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bogdanc]]></name></author>
<updated>2014-12-30T13:11:40+01:00</updated>
<published>2014-12-30T13:11:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111261#p111261</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111261#p111261"/>
<title type="html"><![CDATA[Re: Multipleskowanie LED  i kilka niezrozumiałości (oby tylk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111261#p111261"><![CDATA[
<div class="quotetitle">RadekB86 napisał(a):</div><div class="quotecontent"><br />Aha czyli z pierwszej odpowiedzi wynika że każde użycie #define jest tak jakby zupełnie <span style="color: #FFBF40">ODDZIELNE i NIEZALEŻNE</span>,a ja je ze sobą wszystkie tak jakby skleiłem <img src="https://forum.atnel.pl/images/smilies/icon_eek.gif" alt=":shock:" title="Zaszokowany" />  i zrozumiałem to że ANODY PORT to to samo co 4 piny i wynika z tego że tak jakby jednej nazwie przyporządkowałem kilka innych nazw itd co było błędem w moim rozumowaniu i wszystko pogmatfałem <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><br /><br />Ale jeśli chodzi o drugą odpowiedź to niema tam zapisu typu   PORTC | = SEG_A<br />więc dalej nie bardzo wiem skąd on to wie no chyba że jakoś z tablicy ze strony 209<br /></div><br />Ja tylko dalem taki przyklad zaraz zajrze do ksiazki:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1319">bogdanc</a> — 30 gru 2014, o 13:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RadekB86]]></name></author>
<updated>2014-12-30T12:08:30+01:00</updated>
<published>2014-12-30T12:08:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111250#p111250</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111250#p111250"/>
<title type="html"><![CDATA[Re: Multipleskowanie LED  i kilka niezrozumiałości (oby tylk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111250#p111250"><![CDATA[
Aha czyli z pierwszej odpowiedzi wynika że każde użycie #define jest tak jakby zupełnie <span style="color: #FFBF40">ODDZIELNE i NIEZALEŻNE</span>,a ja je ze sobą wszystkie tak jakby skleiłem <img src="https://forum.atnel.pl/images/smilies/icon_eek.gif" alt=":shock:" title="Zaszokowany" />  i zrozumiałem to że ANODY PORT to to samo co 4 piny i wynika z tego że tak jakby jednej nazwie przyporządkowałem kilka innych nazw itd co było błędem w moim rozumowaniu i wszystko pogmatfałem <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><br /><br />Ale jeśli chodzi o drugą odpowiedź to niema tam zapisu typu   PORTC | = SEG_A<br />więc dalej nie bardzo wiem skąd on to wie no chyba że jakoś z tablicy ze strony 209<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1837">RadekB86</a> — 30 gru 2014, o 12:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bogdanc]]></name></author>
<updated>2014-12-30T11:40:47+01:00</updated>
<published>2014-12-30T11:40:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111244#p111244</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111244#p111244"/>
<title type="html"><![CDATA[Re: Multipleskowanie LED  i kilka niezrozumiałości (oby tylk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111244#p111244"><![CDATA[
ANODY_PORT masz zdefiniowane jako PORTA czyli jesli w powyzszym zapisie np.<br />Licznik bedzie miał wartosc równa 2 to binarnie 0b00000010 czyli przypisujac to do PORTA =~(0b00000010);<br />~ operator negacji da nam zapis:<br />PORTA = 0b11111101;<br />Czyli wystawimy logiczne 1 na wszystkich pinach portu oprocz 2 gdzie mamy 0.<br /> <br />Drugie pytanie:<br />Takie podejscie umozliwia swobodna konfiguracje pinow.<br /><br />Definiujemy sobie np.<br />#define SEG_A (1&lt;&lt;0) oznacza ze wszedzie gdzoe kompilator napotka zapis SEG_A  podstawi (1&lt;&lt;0) i jesli mielusmy wczesniej zapis definiujac port wyj jako PORTC to w zapisie np:<br />PORTC | = SEG_A;<br />Spowoduje wystawienie 1 na pierwszym pinie portu C. Bo mamy 0 w naszym przesunieciu bitowym.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1319">bogdanc</a> — 30 gru 2014, o 11:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RadekB86]]></name></author>
<updated>2014-12-30T11:13:36+01:00</updated>
<published>2014-12-30T11:13:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111239#p111239</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111239#p111239"/>
<title type="html"><![CDATA[Multipleskowanie LED  i kilka niezrozumiałości (oby tylko)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9930&amp;p=111239#p111239"><![CDATA[
Witam od razu do rzeczy. Na stronie 212 pisze Pan M.K. : &quot;Tymczasem w kodzie obsługi przerwania mamy zapis ANODY_PORT = ~licznik;    Z tego powodu mamy cztery starsze bity PA7 -PA4 są cały czas ustawione na jeden &quot;<br />Moje pytanie brzmi skąd się tam wzięły te cztery starsze bity skoro pod słowem: &quot;ANODY_PORT&quot; kryje się na stronie 202:<br />&quot;ANODY_PORT |= CA1 | CA2 | CA3 | CA4;&quot;  i dalej co za tym idzie na stronie 203 mamy zapis:<br />#define ANODY_PORT PORTA&quot;  <br /> i poniżej <br />#define CA1 (1&lt;&lt;PA0) <br />#define CA2 (1&lt;&lt;PA1) <br />#define CA3 (1&lt;&lt;PA2)<br />#define CA4(1&lt;&lt; PA3)<br />a pinów od PA7 do PA4 jak nie widziałem tak nigdzie nie widzę... <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br /><br />I moje drugie pytanie może sam coś podejrzewam ale nie jestem pewien a muszę być pewny. <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" /> <br /> Na stronie 209 mamy zapisy segmentów ;np:<br /> #define SEG_A(1&lt;&lt;0)  itd itd.<br />itd<br />itd<br />moje pytanie brzmi skąd kompilator wie że chodzi o ten konkretny PORTC czyli czemu niema zapisu typu:<br />#define SEG_A(1&lt;&lt;PC0) wiem że obie opcje działają<br />ja podejrzewam że wystarczyło że daliśmy ten  cały PORTC  na stronie 203 jako wyjście na katody....ale może się mylę...<br />a jeśli mam rację to co jeśli zechcę sobie podłączyć zupełnie oddzielny nowy wyświetlacz z segmentami na zupełnie inny niezależny PORT skąd wtedy kompilator będzie wiedział o który mi chodzi ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1837">RadekB86</a> — 30 gru 2014, o 11:13</p><hr />
]]></content>
</entry>
</feed>