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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-12-20T17:00:41+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=5209&amp;mode</id>
<entry>
<author><name><![CDATA[RedLine]]></name></author>
<updated>2013-12-20T17:00:41+01:00</updated>
<published>2013-12-20T17:00:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61899#p61899</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61899#p61899"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61899#p61899"><![CDATA[
Już się miałem zabierać, za ponowną analizę układu oraz kodu a tu proszę po problemie, zagadka rozwiązana po mistrzowsku <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Jeszcze raz dziękuje, za zainteresowanie problemem oraz dobre rady.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2254">RedLine</a> — 20 gru 2013, o 17:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-12-20T10:27:28+01:00</updated>
<published>2013-12-20T10:27:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61858#p61858</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61858#p61858"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61858#p61858"><![CDATA[
<div class="quotetitle">2rs232 napisał(a):</div><div class="quotecontent"><br />Wniosek, zaprzyjaźnić się z timerami<br /></div><br /><br />Bardzo dobry wniosek ... ja dodam, że szczególnie z timerami programowymi na takie okazje <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> — 20 gru 2013, o 10:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[2rs232]]></name></author>
<updated>2013-12-20T09:45:52+01:00</updated>
<published>2013-12-20T09:45:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61850#p61850</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61850#p61850"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61850#p61850"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />no mam nadzieję, że nikt nie wyciągnie z tego jakichś kosmicznych wniosków ...<br /></div><br />Wniosek, zaprzyjaźnić się z timerami <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=1670">2rs232</a> — 20 gru 2013, o 09:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pbmaster]]></name></author>
<updated>2013-12-20T06:06:19+01:00</updated>
<published>2013-12-20T06:06:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61842#p61842</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61842#p61842"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61842#p61842"><![CDATA[
Miała być zagadka na koniec roku ...  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />  Nie minęły święta nie było sylwestra a Mirek wziął byka za rogi i zagadkę w &quot;stodole rozpykał&quot;  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2093">pbmaster</a> — 20 gru 2013, o 06:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-12-20T00:08:37+01:00</updated>
<published>2013-12-20T00:08:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61833#p61833</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61833#p61833"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61833#p61833"><![CDATA[
hahaha no i mam rozwiązanie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />ja sprawdzałem na szybko jak pisałem wcześniej na zestawie przy kwarcu 11,0592 MHz i nie widziałem różnicy w miganiu<br /><br />ale teraz zmieniłem taktowanie w zestawie na 8 MHz no i jest różnica <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... więc jak już mamy zagadkę to trzeba chwycić byka za rogi ... więc dawaj skok zrobić jak do stodoły z sianem <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> czyli w asemblera po kompilacji i proszę bardzo:<br /><br />kod w wersji gdzie mamy zmienną GLOBALNĄ:<br />[syntax=asm]0000007c &lt;main&gt;:<br />  7c:84 b3       inr24, 0x14; 20<br />  7e:80 58       subir24, 0x80; 128<br />  80:84 bb       out0x14, r24; 20<br />  82:80 91 60 00 ldsr24, 0x0060<br />  86:90 91 61 00 ldsr25, 0x0061<br />  8a:80 36       cpir24, 0x60; 96<br />  8c:9a 4e       sbcir25, 0xEA; 234<br />  8e:39 f4       brne.+14     ; 0x9e &lt;main+0x22&gt;<br />  90:85 b3       inr24, 0x15; 21<br />  92:80 58       subir24, 0x80; 128<br />  94:85 bb       out0x15, r24; 21<br />  96:10 92 61 00 sts0x0061, r1<br />  9a:10 92 60 00 sts0x0060, r1<br />  9e:80 91 60 00 ldsr24, 0x0060<br />  a2:90 91 61 00 ldsr25, 0x0061<br />  a6:01 96       adiwr24, 0x01; 1<br />  a8:90 93 61 00 sts0x0061, r25<br />  ac:80 93 60 00 sts0x0060, r24<br />  b0:e8 cf       rjmp.-48     ; 0x82 &lt;main+0x6&gt;[/syntax]<br /><br />a teraz kod gdzie mamy zmienną automatyczną (lokalną):<br />[syntax=asm]0000006c &lt;main&gt;:<br />  6c:84 b3       inr24, 0x14; 20<br />  6e:80 58       subir24, 0x80; 128<br />  70:84 bb       out0x14, r24; 20<br />  72:03 c0       rjmp.+6      ; 0x7a &lt;main+0xe&gt;<br />  74:85 b3       inr24, 0x15; 21<br />  76:80 58       subir24, 0x80; 128<br />  78:85 bb       out0x15, r24; 21<br />  7a:80 e0       ldir24, 0x00; 0<br />  7c:90 e0       ldir25, 0x00; 0<br />  7e:01 96       adiwr24, 0x01; 1<br />  80:80 36       cpir24, 0x60; 96<br />  82:2a ee       ldir18, 0xEA; 234<br />  84:92 07       cpcr25, r18<br />  86:d9 f7       brne.-10     ; 0x7e &lt;main+0x12&gt;<br />  88:f5 cf       rjmp.-22     ; 0x74 &lt;main+0x8&gt;[/syntax]<br /><br />widzicie różnicę ? ... nie chodzi mi o to że w ogóle jest różnica <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> no bo jest ale chodzi o to że w przypadku ze zmienną globalną kompilacja poszła nieco mniej optymalnie i za każdym razem operacje odbywają się (jeśli chodzi o zmienną licznik) na pamięci RAM <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />[syntax=c]ldsr24, 0x0060<br />ldsr25, 0x0061<br /><br />...<br /><br />sts0x0061, r1<br />sts0x0060, r1[/syntax]<br /><br />a w drugim przypadku zmienna trafiła od razu do rejestrów <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> na których operacje są wykonywane dużo dużo szybciej - a że owe &quot;spowolnienie&quot; o ile można tak je nazwać - mocno zależy od każdej wykonywanej operacji to rzeczywiście przy niższych częstotliwościach taktowania wyjdzie to właśnie w taki sposób <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />KONIEC ZAGADKI.<br /><br />wnioski ?<br /><br />no mam nadzieję, że nikt nie wyciągnie z tego jakichś kosmicznych wniosków że lepiej dawać zmienne lokalne niż automatyczne albo odwrotnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ..... bo to byłby wniosek na prawdę delikatnie mówiąc z kosmodromu BAJKONUR <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> — 20 gru 2013, o 00:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pbmaster]]></name></author>
<updated>2013-12-19T23:35:58+01:00</updated>
<published>2013-12-19T23:35:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61830#p61830</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61830#p61830"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61830#p61830"><![CDATA[
Zrobiłem próbę z wewnętrznym taktowaniem 8MHz i u mnie też rzeczywiście w pierwszej wersji mryga wolniej a w drugiej szybciej... ;p<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2093">pbmaster</a> — 19 gru 2013, o 23:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[2rs232]]></name></author>
<updated>2013-12-19T21:09:45+01:00</updated>
<published>2013-12-19T21:09:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61826#p61826</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61826#p61826"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61826#p61826"><![CDATA[
Ustaw na próbę taktowanie na wewnętrzny RC i porównaj zachowanie Twojego kodu.<br />Pokaż jeśli możesz fotkę jak masz podłączony kwarc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1670">2rs232</a> — 19 gru 2013, o 21:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-12-19T19:52:37+01:00</updated>
<published>2013-12-19T19:52:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61821#p61821</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61821#p61821"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61821#p61821"><![CDATA[
Po to jest to forum, żeby prezentować także jakieś swoje ciekawe rozwiązania - a czemu by nie ? <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> — 19 gru 2013, o 19:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RedLine]]></name></author>
<updated>2013-12-19T19:43:47+01:00</updated>
<published>2013-12-19T19:43:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61820#p61820</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61820#p61820"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61820#p61820"><![CDATA[
Co najlepsze całe to zamieszanie z diodą, wynikło z innego faktu <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> Ponieważ używam diod jako swego rodzaju prostego debugera.<br />Chciałem zrobić tak po swojemu programowy PWM, tak w ramach ćwiczenia, testu, może zabawy. Tak nawiasem mówiąc jeśli coś z tego wyjdzie, to o ile będzie się to do czegokolwiek nadawać to przedstawię to na forum i proszę nie odbierać tego jako groźby <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> , po prostu przedstawię takie swoje rozwiązanie, swój pomysł na programowy PWM. Może ktoś z tego skorzysta, być może spotka się to z jakąś odezwą, mam nadzieje jakimiś radami, pewnie nawet słowami krytyki no ale w końcu, po to się coś tworzy, przedstawia, żeby jeśli idzie się zła drogą, wbrew regułom panującym w świecie mikrokontrolerów i dziedziny programowania, ktoś mógł nakierować, coś zasugerować, przedstawić swój pogląd. Ale co z tego wyjdzie to się okaże. To tyle bo się rozpisałem, a nie o to tu chodziło.<br /><br />Podsumowując, wynikła z tego niezła zagadka, która być może zakończy się wielkim śmiechem w momencie znalezienia tego babola <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />  A póki co niech sobie mruga ta dioda, w razie czego powiesi się ją na choince <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=2254">RedLine</a> — 19 gru 2013, o 19:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-12-19T18:59:45+01:00</updated>
<published>2013-12-19T18:59:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61817#p61817</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61817#p61817"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61817#p61817"><![CDATA[
kurczę - powiem że to fajna zagadka na koniec roku - nawet z punktu widzenia tych, którzy mogą ci próbować tu pomagać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> swego rodzaju wyzwanie - kto zobaczy pierwszy jakiś babol i naprowadzi cię na dobrą drogę ...<br /><br />a piszę to, bo wczoraj wiesz ... po prostu odpaliłem to aż z ciekawości na zestawie swoim - pomyślałem - może hmm ty jakoś okiem obserwujesz inaczej, albo może coś w tym jest - byłem ciekaw zresztą jak szybko będzie migać ta dioda przy kwarcu u mnie 11,592MHz ... No jak mówiłem - każdy przypadek to IDENTYCZNE miganie u mnie było .... <br /><br />dlatego teraz jeśli pokazujesz i fusy, i procka na którym działasz itp .. to aż mnie to ciekawi coś pan tutaj zakońbinował ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />z ciekawości - hmmm jak masz ochotę do dryndnij do mnie na Skype - jestem teraz - podłączę się do twojego pulpitu TeamViewerem i aż sam zajrzę w ten kod, kompilację itp ... Bo też na razie ślepy jestem co tu możesz źle robić<br /><br />ale może też wpadnie tu jakieś inne nasze forumowe &quot;sokole oko&quot; i coś wypatrzy w międzyczasie <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> — 19 gru 2013, o 18:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RedLine]]></name></author>
<updated>2013-12-19T18:49:47+01:00</updated>
<published>2013-12-19T18:49:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61816#p61816</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61816#p61816"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61816#p61816"><![CDATA[
No musi to być coś na prawdę banalnego.<br /><br />KOD PROGRAMU WERSJA 1:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br /><br />#define LED_1 (1&lt;&lt;PB0)<br />#define LED_2 (1&lt;&lt;PB1)<br />#define LED_3 (1&lt;&lt;PB2)<br />#define LED_4 (1&lt;&lt;PB3)<br />#define KEY_1 (1&lt;&lt;PB4)<br />#define KEY_2 (1&lt;&lt;PB5)<br /><br />uint16_t licznik;//MIEJSCE_1<br /><br />int main( void ) {<br /><br />DDRB |= LED_1 | LED_2 | LED_3 | LED_4;<br />PORTB |= KEY_1 | KEY_2;<br /><br />//uint16_t licznik = 0;//MIEJSCE_2<br /><br />while(1) {<br /><br />if(licznik==60000){<br />PORTB ^= LED_1;<br />licznik=0;<br />}<br />licznik++;<br />}<br /><br />}[/syntax]<br /><br /><br />KOD PROGRAMU WERSJA 2:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br /><br />#define LED_1 (1&lt;&lt;PB0)<br />#define LED_2 (1&lt;&lt;PB1)<br />#define LED_3 (1&lt;&lt;PB2)<br />#define LED_4 (1&lt;&lt;PB3)<br />#define KEY_1 (1&lt;&lt;PB4)<br />#define KEY_2 (1&lt;&lt;PB5)<br /><br />//uint16_t licznik;//MIEJSCE_1<br /><br />int main( void ) {<br /><br />DDRB |= LED_1 | LED_2 | LED_3 | LED_4;<br />PORTB |= KEY_1 | KEY_2;<br /><br />uint16_t licznik = 0;//MIEJSCE_2<br /><br />while(1) {<br /><br />if(licznik==60000){<br />PORTB ^= LED_1;<br />licznik=0;<br />}<br />licznik++;<br />}<br /><br />}[/syntax]<br /><br />SCHEMAT UKŁADU:<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/2254/5459d461f0f5796247c7c6951f40a540.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/2254/5459d461f0f5796247c7c6951f40a540.png" alt="Obrazek" /></a><br /><br />USTAWIENIA FUSEBITÓW:<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/2254/f17cc04141b56224ffb3001200770d3c.PNG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/2254/f17cc04141b56224ffb3001200770d3c.PNG" alt="Obrazek" /></a><br /><br />Tak to się prezentuje. Zapewne gdzieś tu tak jak wspomniałeś problem może tkwić w drobnostce i pewnie po jakimś czasie, wpadnę na to co jest i stwierdzę, że jak mogłem to przeoczyć, albo jak mogłem tak zrobić <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> A tym czasem tylko zajmuje czas nad takim, zapewne błahym problemem. W każdym bądź razie dziękuje serdecznie za zainteresowanie odpowiedź i dobre rady.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2254">RedLine</a> — 19 gru 2013, o 18:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-12-19T16:53:28+01:00</updated>
<published>2013-12-19T16:53:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61803#p61803</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61803#p61803"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61803#p61803"><![CDATA[
To co pokazałeś &quot;po kompilacji&quot; .... hmmm też przecież opisuję w Bluebooku ale może przeoczyłeś <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... chodzi tu oczywiście o to że gdy robisz zmienną globalną (twoje MIEJSCE_1) ... to kompilator pokazuje ci zajętość pamięci RAM na tę zmienną<br /><br />Gdy jest ona definiowana jako lokalna no to? ... no to gdzie się ona urodzi ? .... też jest w książce - trzeba przekopać jeszcze raz rozdział o zmiennych , ich zasięgu, o funkcjach i zmiennych automatycznych czyli lokalnych. No ale przypominam zmienna taka zostanie utworzona programowo na stosie .... ale też przecież jakby nie patrzeć w pamięci RAM, tyle że nie w obszarze zmiennych globalnych i dlatego nie jest inicjalizowana zerem. Dlatego po kompilacji widzisz ZERO bajtów zajętości RAM <br /><br />REASUMUJĄC - czy taka zmienna czy taka - to na jedno wychodzi obydwie są w RAM i błędne podejście z tym pomysłem że jakiś czas dostępu się wydłuża - tym bardziej że pomyśl - u mnie na zestawie ATB taki twój przykład w każdym przypadku działa tak samo i dioda mruga tak samo. U każdego innego również - więc odpuść trop tego że różnice w kompilacji coś mogą tu zmieniać<br /><br />powiem więcej - nawet - NAWET gdybyś używał zmiennej w pamięci FLASH (tyle że ona nie jest do zapisu) ale gdyby była - to pomimo iż czas byłby wolniejszy to i tak nie zauważyłbyś okiem zmian w miganiu, byłby tak nieznaczne<br /><br />--------------------<br /><br />powiem inaczej - pokaż tu schemat tego co zmajstrowałeś<br />- pokaż ustawienia fusebitów<br />- pokaż jeden kod programu i drugi tak w całości - bo wiesz problem najczęściej tkwi w tym - w takich przypadkach - że potem okazuje się że nie tą linijkę odkomentowałeś, nie zapisałeś projektu a to to ... a to siamto <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />aż tak banalny musi to być ten błąd <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> — 19 gru 2013, o 16:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RedLine]]></name></author>
<updated>2013-12-19T15:41:21+01:00</updated>
<published>2013-12-19T15:41:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61796#p61796</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61796#p61796"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61796#p61796"><![CDATA[
Zapewne gdzieś ten czeski błąd popełniłem, i mimo że jest to naprawdę prosty program bo główne działanie opiera się na zmianie stanu na określonym porcie, to zazwyczaj najwięcej czasu traci się  właśnie na takich błahostkach, no ale człowiek uczy się na błędach, choćby na tej pomyłce związanej z określeniem ZDEFINIOWANA/ZDEKLAROWANA ( i tu dziękuje za zwrócenie uwagi ).<br /><br />Tak jeszcze w ramach wyjaśnienia, owe mruganie diodą <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />  wykonałem stosując taką metodę:<br /><br />[syntax=c]while(1) {<br /><br /><br />if(licznik==60000){<br />PORTB ^= LED_1;<br />licznik=0;<br />}<br />licznik++;<br /><br />}[/syntax]<br /><br />gdyż chciałem zrezygnować z korzystania z funkcji <strong>_delay_ms();</strong><br /><br />I takie moje pewnie ostatnie spostrzeżenie.<br /><br />Zdefiniowanie zmiennej globalnej (MIEJSCE_1) skutkuje wyświetleniem w konsoli ( chodzi mi o to ile zajmuje program i dane):<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">Program:     162 bytes (2.0% Full)<br />(.text + .data + .bootloader)<br /><br />Data:          2 bytes (0.2% Full)<br />(.data + .bss + .noinit)</div><br /><br />zaś zdefiniowanie zmiennej lokalnej (MIEJSCE_2)<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">Program:     140 bytes (1.7% Full)<br />(.text + .data + .bootloader)<br /><br />Data:          0 bytes (0.0% Full)<br />(.data + .bss + .noinit)</div><br /><br /><br />Czy nie ma to wpływu na zachowanie tej diody, (może związanej z szybkością dostępu do zmiennej lokalnej, globalnej, o ile coś takiego istnieje), możne ja to źle interpretuje jeśli tak to wybaczcie ale dopiero stawiam (może nie pierwsze) kroki w dziedzinie programowania mikrokontrolerów, ale jestem na etapie poznawania ich możliwości <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />  Dlatego korzystając z rady pana Mirka stawiam na czeski błąd i mam nadzieje, że wyjdzie w praniu co jest nie tak.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2254">RedLine</a> — 19 gru 2013, o 15:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-12-19T00:16:27+01:00</updated>
<published>2013-12-19T00:16:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61744#p61744</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61744#p61744"/>
<title type="html"><![CDATA[Re: Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61744#p61744"><![CDATA[
<div class="quotetitle">RedLine napisał(a):</div><div class="quotecontent"><br />I tu moje pytanie, czy nie powinna ona mrugać ze stałą częstotliwościową niezależnie od tego gdzie została zdeklarowana zmienna licznik?<br /></div><br /><br />Powinna <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> więc tak na prawdę robisz gdzieś jakiś czeski błąd niestety ... bo czy zmienna jest globalna (tak to się nazywa) gdy jest UWAGA! ZDEFINIOWANA - a nie zdeklarowana jak piszesz (a to duża różnica) poza funkcją main(), czy też jest zdefiniowana jako zmienna lokalna (automatyczna) wewnątrz funkcji main() - to nie ma i nie może mieć żadnego znaczenia jeśli chodzi o szybkość migania tej diody LED <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> — 19 gru 2013, o 00:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RedLine]]></name></author>
<updated>2013-12-18T22:37:54+01:00</updated>
<published>2013-12-18T22:37:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61722#p61722</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61722#p61722"/>
<title type="html"><![CDATA[Deklaracja zmiennej, miejsce deklaracji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5209&amp;p=61722#p61722"><![CDATA[
Witam. Podczas testowania prostego układu zbudowanego na bazie mikrokontrolera Atmega8 napotkałem na pewne „zjawisko” a mianowicie:<br /><br />Układ bazuje (jak już wspomniałem) na Atmega8<br />- zewnętrzny kwarc 8MHz<br />- wykorzystane piny:<br />PB0, PB1, PB2, PB3 - DIODY LED<br />PB4, PB5 – MICROSWITCH<br /><br />Kod programu:<br /><br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br /><br />#define LED_1 (1&lt;&lt;PB0)<br />#define LED_2 (1&lt;&lt;PB1)<br />#define LED_3 (1&lt;&lt;PB2)<br />#define LED_4 (1&lt;&lt;PB3)<br />#define KEY_1 (1&lt;&lt;PB4)<br />#define KEY_2 (1&lt;&lt;PB5)<br /><br />uint16_t licznik;//MIEJSCE_1<br /><br />int main( void ) {<br /><br />DDRB |= LED_1 | LED_2 | LED_3 | LED_4;<br />PORTB |= KEY_1 | KEY_2;<br /><br />//uint16_t licznik = 0;//MIEJSCE_2<br /><br />while(1) {<br /><br /><br />if(licznik==60000){<br />PORTB ^= LED_1;<br />licznik=0;<br />}<br />licznik++;<br /><br />}<br /><br />}[/syntax]<br /><br />Program bardzo, bardzo prosty, ale zastanawia mnie zachowanie mrugającej diody w zależności od miejsca zadeklarowania zmiennej <strong><em>licznik</em></strong>, a mianowicie:<br />- deklarując zmienną <strong><em>licznik</em></strong> w miejscu „MIEJSCE_1” dioda mruga z pewną stałą częstotliwością;<br />- deklarując zmienną <strong><em>licznik</em></strong> w miejscu „MIEJSCE_2” częstotliwość mrugania diody zwiększa się.<br /><br />Zastanawia mnie to, dlaczego dioda mruga albo szybciej( deklaracja w MIEJSCE_2) albo wolniej( deklaracja w MIEJSCE_1). I tu moje pytanie, czy nie powinna ona mrugać ze stałą częstotliwościową niezależnie od tego gdzie została zdeklarowana zmienna <strong><em>licznik</em></strong>?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2254">RedLine</a> — 18 gru 2013, o 22:37</p><hr />
]]></content>
</entry>
</feed>