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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-05-31T14:42:22+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1117&amp;mode</id>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2012-05-31T14:42:22+01:00</updated>
<published>2012-05-31T14:42:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7277#p7277</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7277#p7277"/>
<title type="html"><![CDATA[Re: Sterowanie kostką led.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7277#p7277"><![CDATA[
Skoro są globalne, to są dostępne w każdym miejscu w programie. Możesz tam na nich operować dowolnie się do nich odwołując.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 31 maja 2012, o 14:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Radzio M.]]></name></author>
<updated>2012-05-31T13:58:12+01:00</updated>
<published>2012-05-31T13:58:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7272#p7272</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7272#p7272"/>
<title type="html"><![CDATA[Re: Sterowanie kostką led.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7272#p7272"><![CDATA[
Załóżmy, że mam wskaźniki globalne uint8_t *wsk1, *wsk2, które będą kolejno dla zmiennych uint8_t nr_led , uint8_t pietro. Pobranie adresów komórek tych zmiennych ma nastąpić w funkcji zapal_led()?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=396">Radzio M.</a> — 31 maja 2012, o 13:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2012-05-31T11:38:36+01:00</updated>
<published>2012-05-31T11:38:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7262#p7262</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7262#p7262"/>
<title type="html"><![CDATA[Re: Sterowanie kostką led.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7262#p7262"><![CDATA[
<div class="quotetitle">Radzio M. napisał(a):</div><div class="quotecontent"><br />i teraz z poziomu innej funkcji chciałbym mieć dostęp do zmiennych uint8_t nr_led , uint8_t pietro, żeby móc np. cyklicznie zmieniać ich wartości. Do głowy przychodzą mi wskaźniki. Nie wiem gdzie mam je zdefiniować, w drugiej funkcji, czy na początku w main?? Jeszcze zapytam bo bardzo zastanawia mnie gdzie w pamięci znajdują się zmienne uint8_t nr_led , uint8_t pietro, na początku raczej nie bo nie są globalne, na stosie??<br /> <img src="https://forum.atnel.pl/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" title="Pan Zielony" /><br /></div><br />Jak chcesz mieć dostę z innych funkcji to musisz je zdefiniować jako zmienne globalne, albo wskaźniki do nich jako globalne.<br />Zmienne znajdują się w pamięci <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> chociaż stos też  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Natomiast ich wartości jakie przekazywane są do funkcji są na stosie, ich czas &quot;życia&quot; jest taki jak funkcji zapal_led()<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 31 maja 2012, o 11:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Radzio M.]]></name></author>
<updated>2012-05-31T10:59:36+01:00</updated>
<published>2012-05-31T10:59:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7254#p7254</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7254#p7254"/>
<title type="html"><![CDATA[Re: Sterowanie kostką led.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7254#p7254"><![CDATA[
Mam funkcję <br />[syntax=c]// definicja funkcji zapalającej diode na pietrze<br />void zapal_led(uint8_t nr_led , uint8_t pietro)<br />{<br />if(pietro==0){<br />if(nr_led==0) floor0 |= LED0;<br />else floor0 |= (LED0&lt;&lt;nr_led);<br />}<br />if(pietro==1){<br />if(nr_led==0) floor1 |= LED0;<br />else floor1 |= (LED0&lt;&lt;nr_led);<br />}<br />if(pietro==2){<br />if(nr_led==0) floor2 |= LED0;<br />else floor2 |= (LED0&lt;&lt;nr_led);<br />}<br />if(pietro==3){<br />if(nr_led==0) floor3 |= LED0;<br />else floor3 |= (LED0&lt;&lt;nr_led);<br />}<br />}[/syntax]<br /><br />i teraz z poziomu innej funkcji chciałbym mieć dostęp do zmiennych uint8_t nr_led , uint8_t pietro, żeby móc np. cyklicznie zmieniać ich wartości. Do głowy przychodzą mi wskaźniki. Nie wiem gdzie mam je zdefiniować, w drugiej funkcji, czy na początku w main?? Jeszcze zapytam bo bardzo zastanawia mnie gdzie w pamięci znajdują się zmienne uint8_t nr_led , uint8_t pietro, na początku raczej nie bo nie są globalne, na stosie??<br /> <img src="https://forum.atnel.pl/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" title="Pan Zielony" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=396">Radzio M.</a> — 31 maja 2012, o 10:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-05-29T11:10:46+01:00</updated>
<published>2012-05-29T11:10:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7204#p7204</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7204#p7204"/>
<title type="html"><![CDATA[Re: Sterowanie kostką led.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7204#p7204"><![CDATA[
O kurczę cały mój post z odpowiedzią wcięła AMBA <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />kolega wyżej ma rację, dla przykładu podpatrz sobie jak wygląda wkładanie zmiennej 16-bitowej do 8-bitowego rejestru (a port to też rejestr) w inicjalizacji USART <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />masz tam zapis __UBRR do rejestrów UBRRL i UBRRH prawda ?<br /><br />I pamiętaj że tu następuje automatycznie rzutowanie typów 16-bitowego do 8-bitowego - a wtedy przekazywana jest tylko młodsza część słowa 16-bitowego, zatem do twojej zmiennej  (portu) LED_DATA_1 niechcący trafi wszystko OK - ale nawet to maskowanie jest niepotrzebne<br /><br />Natomiast do LED_DATA_2 trafi ZERO (bo wyzerowałeś młodszy bajt - zamiast co? zamiast przesunąć w prawo o 8 bitów zawartość starszego bajtu)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 maja 2012, o 11:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2012-05-29T10:53:55+01:00</updated>
<published>2012-05-29T10:53:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7203#p7203</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7203#p7203"/>
<title type="html"><![CDATA[Re: Sterowanie kostką led.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7203#p7203"><![CDATA[
To zależy co masz na myśli  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />Ale moim zdaniem nie będzie, a przynajmniej niezgodnie z Twoimi oczekiwaniami<br />Musisz jeszcze dokonać przesunięcia bitowego<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 29 maja 2012, o 10:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Radzio M.]]></name></author>
<updated>2012-05-29T09:36:04+01:00</updated>
<published>2012-05-29T09:36:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7196#p7196</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7196#p7196"/>
<title type="html"><![CDATA[Sterowanie kostką led.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1117&amp;p=7196#p7196"><![CDATA[
Witam. Mam kostke ledową o wymiarach 4x4x4. Wychodzi z niej 16 anod i 4 katody. Mam zmienną np. uint16_t floor1, która informuje o stanie anod. Anodami sterują 2 porty 8 bitowe np. PA i PB. Chcę rozbić tą zmienna tak aby móc użyć dwóch portów. Napisałem coś takiego:<br />[syntax=c]LED_DATA_1 = ( floor1 &amp; 0x00FF ); //wyzerowanie starszego bajtu<br />LED_DATA_2 = ( floor1 &amp; 0xFF00 ); //wyzerowanie młodszego bajtu[/syntax]<br />LED_DATA_1 i 2 to porty kolejno PA i PB<br />Będzie to działać tak jak trzeba?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=396">Radzio M.</a> — 29 maja 2012, o 09:36</p><hr />
]]></content>
</entry>
</feed>