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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-03-12T18:26:27+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=10751&amp;mode</id>
<entry>
<author><name><![CDATA[aren]]></name></author>
<updated>2015-03-12T18:26:27+01:00</updated>
<published>2015-03-12T18:26:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123264#p123264</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123264#p123264"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123264#p123264"><![CDATA[
Od wczoraj nastąpił mały progres. Napisałem coś takiego ale nie rozumiem dlaczego to działa inaczej niż sobie założyłem...[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#define KEY (1&lt;&lt;PB0)<br />#define KEY_DOWN !(PINB &amp; KEY)<br />uint8_t tab&#91;&#93;={1,3,7,15,31,63,127,255};<br />uint8_t tab2&#91;&#93;={1,3,7,15,31,63,0};<br /><br />int main(void)<br />{<br /><br />DDRD = 255;<br />PORTD = 0;<br />DDRC = 255;<br />PORTC = 0;<br />    DDRB &amp;= ~KEY;<br />    PORTB |= KEY;<br /><br /><br />while(1) {<br />  uint8_t i;<br /><br />              for (i=0; i&lt;8; i++){<br />              if( KEY_DOWN )// klawisz wciśnięty ?<br />              {<br />              _delay_ms(80);// czas drgań styków<br />              if( KEY_DOWN )<br />                        PORTD = tab&#91;i&#93;;<br />                    _delay_ms(200);<br />                    if (i==7)<br />                            {<br />                              uint8_t j;<br />                               for (j=0; j&lt;7; j++){<br />                              PORTC = tab2&#91;j&#93;;<br />                                _delay_ms(200);<br />                                }<br />              }<br />              }<br /><br />}<br />}<br />}[/syntax]<br /><br />Myślałem, że pętla pierwsza pętla for zostanie wykonana jak nacisnę raz przycisk i zaświeci się pierwsza dioda. Jeśli puszcze przycisk to pętla zostaje przerwana i czeka na naciśnięcie przycisku. Gdy nacisnę drugi raz powinna się zaświecić pierwsza i druga dioda i czekać na kolejne moje naciśnięcie.<br /><br />Tymczasem . Jak tak naciskam to cuda wianki się dzieją z diodami. Raz świeci 7 diód, potem jedna, potem wszystkie (jakiś random się robi). Ale jeśli trzymam wciśnięty klawisz to diody zapalają się jedna po drugiej <br /><br />Wytłumaczy mi to ktoś. Proszę ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4523">aren</a> — 12 mar 2015, o 18:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-03-11T21:05:25+01:00</updated>
<published>2015-03-11T21:05:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123156#p123156</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123156#p123156"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123156#p123156"><![CDATA[
<div class="quotetitle">aren napisał(a):</div><div class="quotecontent"><br />Panie Mirek to nie jest tak hop siup wszystko na raz zapamiętać.<br /></div><br />Panie, ... a ty myślisz że ja albo ktoś to na pamięć wkuwa tego typu książki ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... to chyba tylko gieniusze co niektórzy z ele...<br /><br />Ale za to masz wyraźny ROZDZIAŁ w książce, no i pierwsze przykłady na DVD dołączonym do książki - gdzie w tytule jak BYK masz o obsłudze przycisków/klawiszy - to powiedz mi czy ktoś tu wymaga od ciebie &quot;na pamięć&quot; ? ... żebyś chociaż na przykładzie tych kodów albo te kody DOKŁADNIE spróbował i coś ci nie wychodziło - to wtedy - no można zrozumieć bo początkujący jesteś .... <br /><br />ale ty - piszesz kod w oderwaniu w ogóle od jakiegokolwiek przykładu nie tylko z książki ale z jakichkolwiek nawet kodów z netu .... Więc zrozum - nikt ci tu nie zarzuca niczego - KAŻDY rozumie właśnie że jesteś początkujący - ale na Zeusa .... no jak mówię otwórz właściwy rozdział albo otwórz pierwsze ćwiczenie z DVD i zacznij je przerabiać - a jak czegoś nie rozumiesz to zadaj pytania - OK ?<br /><br />i podobnie z kolejnymi ćwiczeniami - bo wtedy będzie o wiele łatwiej ci pomóc czy na coś naprowadzić - gdy będzie widać że idziemy tym samym tokiem rozumowania ... o to chodzi <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br /><div class="quotetitle">aren napisał(a):</div><div class="quotecontent"><br />ale jak widać na razie beton jestem<br /></div><br />Beton to jest ten kto może NIC nie robi - ty coś robisz - może trochę nieudolnie no ale cię naprowadzamy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .....<br /><br />tylko tak się zastanawiam - przyznaj się bez bicia - zaglądałeś do przykładów na DVD ? albo do przykładu obsługi klawisza w książce ? ale w takim sensie - że <br /><br />1. napisałeś swój kod tu na forum<br />2. zajrzałeś do książki czy ew jest co najmniej podobnie jak w niej<br />3. albo zajrzałeś do przykładu na DVD<br /><br />??? zrobiłeś tak czy 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> — 11 mar 2015, o 21:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Grzegorz...]]></name></author>
<updated>2015-03-11T20:26:01+01:00</updated>
<published>2015-03-11T20:26:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123150#p123150</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123150#p123150"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123150#p123150"><![CDATA[
Aż postanowiłem sprawdzić na podstawie kodu z książki<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />    #include &lt;util/delay.h&gt;<br />    #define KEY (1&lt;&lt;PB0)<br />    #define KEY_DOWN !(PINB &amp; KEY)<br /><br />    int main(void)<br />    {<br /><br />            DDRD = 255;<br />            PORTD = 255;<br />            PORTB |= KEY;<br /><br />            while(1) {<br /><br />                    if(  KEY_DOWN  ) {      // jeśli klawisz wciśnięty<br />                    _delay_ms(80);<br />                    if(  KEY_DOWN  ) {<br /><br />                                    PORTD ^= (1&lt;&lt;PD1);<br />                                    _delay_ms(200);<br />                    }<br /><br />                                    }<br />    }<br />    }[/syntax]<br /><br />I działa.<br />Ale poczytaj też to, bo jak przytrzymasz palucha za długo na klawiszu to zobaczysz ciekawy efekt <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> : <!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/10/drgania-stykow-to-bajki-wiec-jak-to.html" >http://mirekk36.blogspot.com/2012/10/dr ... ak-to.html</a><!-- m --><br /><br />-- <br />Grzegorz...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1748">Grzegorz...</a> — 11 mar 2015, o 20:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[aren]]></name></author>
<updated>2015-03-11T19:57:04+01:00</updated>
<published>2015-03-11T19:57:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123144#p123144</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123144#p123144"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123144#p123144"><![CDATA[
<div class="quotetitle">aren napisał(a):</div><div class="quotecontent"><br />Witajcie ponownie.<br />Chyba jestem całkowity betonik z tego programowania. <strong><span style="text-decoration: underline">Przeczytałem ksiązkę 1,5 razy. Doczytałem drugi raz do zajęć proaktycznych z diodami i przyciskiem</span></strong>.<br /></div><br /><br /><br />Panie Mirek to nie jest tak hop siup wszystko na raz zapamiętać. Dodam jeszcze, że oprócz książki oglądam też videoporadniki godzinami... ale jak widać na razie beton jestem<br /><br />Grzegorz...<br />Dodałem te dwa puknty, które napisałeś, ale teraz nie wiem dlaczego świecą się dwie diody (PD0 i PD1), a klawisz nadal jest martwy ..<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#define KEY (1&lt;&lt;PB0)<br />#define KEY_DOWN (PINB &amp; KEY)<br /><br />int main(void)<br />{<br /><br />DDRD = 255;<br />PORTD |= (1&lt;&lt;PD0);<br />DDRB = 0;<br />PORTB = 255;<br /><br /><br />while(1) {<br /><br />if( KEY_DOWN )<br />{<br />_delay_ms(80);<br />if( KEY_DOWN )<br />                PORTD ^= (1&lt;&lt;PD0);<br />}<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4523">aren</a> — 11 mar 2015, o 19:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-03-11T19:52:20+01:00</updated>
<published>2015-03-11T19:52:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123143#p123143</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123143#p123143"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123143#p123143"><![CDATA[
<div class="quotetitle">aren napisał(a):</div><div class="quotecontent"><br />Napisałem takie coś, żeby chociaż zmienić stan jednej diody po naciśnięciu przycisku. Niestety to też nie działa ...<br /></div><br />Napisałeś też w pierwszym poście że masz Bluebooka - ale powiedz ty panie kochany - czy ty czytałeś tę książkę w ogóle? czy rzuciłeś ją w kąt ... i tworzysz na zasadzie - wyjdzie coś albo nie wyjdzie ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 mar 2015, o 19:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Grzegorz...]]></name></author>
<updated>2015-03-11T19:50:12+01:00</updated>
<published>2015-03-11T19:50:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123142#p123142</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123142#p123142"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123142#p123142"><![CDATA[
No a przecież w rozdziale &quot;Obsługa klawiszy typu micro-switch&quot; w BB masz tak wszystko pięknie opisane.<br />1. W swoim programie nie podciągasz wejścia klawisza do VCC wewnętrznym rezystorem.<br />2. Nie masz żadnej eliminacji drgań styków - nawet opartej o delay-e.<br /><br />-- <br />Grzegorz...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1748">Grzegorz...</a> — 11 mar 2015, o 19:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[aren]]></name></author>
<updated>2015-03-11T19:17:51+01:00</updated>
<published>2015-03-11T19:17:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123133#p123133</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123133#p123133"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123133#p123133"><![CDATA[
Właśnie chyba niczego nie rozumiem i przez to się zniechęcam  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />Napisałem takie coś, żeby chociaż zmienić stan jednej diody po naciśnięciu przycisku. Niestety to też nie działa ...<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#define KEY (1&lt;&lt;PB0)<br />#define KEY_DOWN !(PINB &amp; KEY)<br /><br />int main(void)<br />{<br /><br />DDRD = 255;<br />PORTD = 255;<br /><br /><br />while(1) {<br /><br />if(  KEY_DOWN  ) {  // jeśli klawisz wciśnięty<br /><br />PORTD ^= (1&lt;&lt;PD1);<br /><br /><br />}<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4523">aren</a> — 11 mar 2015, o 19:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Grzegorz...]]></name></author>
<updated>2015-03-11T18:41:28+01:00</updated>
<published>2015-03-11T18:41:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123126#p123126</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123126#p123126"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123126#p123126"><![CDATA[
A czego nie rozumiesz?<br />Jeśli jak zapalac kolejne diody to zainteresuj się tym tematem: <!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/10/ror-rolowanie-bitow-wersja-wojskowa.html" >http://mirekk36.blogspot.com/2012/10/ro ... skowa.html</a><!-- m --><br />Do tego przeczytaj w BB jeszcze raz rozdział o operatorach bitowych.<br /><br />-- <br />Grzegorz...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1748">Grzegorz...</a> — 11 mar 2015, o 18:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[aren]]></name></author>
<updated>2015-03-11T18:18:43+01:00</updated>
<published>2015-03-11T18:18:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123119#p123119</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123119#p123119"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=123119#p123119"><![CDATA[
Witajcie ponownie.<br />Chyba jestem całkowity betonik z tego programowania. Przeczytałem książkę ksiązkę 1,5 razy. Doczytałem drugi raz do zajęć proaktycznych z diodami i przyciskiem. Przyszła pora poćwiczyć. Wymyśliłem sobie że:<br />mam 8 diod i jeden przycisk. Chcę naciskając przycisk raz zapalić pierwszą diode.<br />Naciskając drugi raz zapalić do pierwszej - drugą diodę (czyli świeci się pierwsza i druga).<br />Naciskając trzeci raz zapalić do pierwszej i drugiej diody trzecią (czyli świeci się pierwsza i druga i trzecia) i tak aż do ośmiu.<br /><br />No i beton <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> Nie mam pomysłu a może logicznego myślenia jak się za to zabrac ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4523">aren</a> — 11 mar 2015, o 18:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2015-02-22T00:49:32+01:00</updated>
<published>2015-02-22T00:49:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120318#p120318</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120318#p120318"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120318#p120318"><![CDATA[
ta jedna pionowa kreska wypadałoby dodać, że jest to po prostu bitowe LUB (OR). Dlatego nie taki zapis nie wpływa na inne bity. Proponuje poczytać o tym w BB lub tutaj <!-- m --><a class="postlink" href="http://arduino.cc/en/Reference/BitwiseAnd" >http://arduino.cc/en/Reference/BitwiseAnd</a><!-- m --> i obejrzeć jeden z poradników Mirka, w którym ponoć Mirek pokazuje jak to działa!<br /><br />I jeszcze zapamiętaj jedno<br />a+=1 jest równoznaczne z a=a+1<br />zatem<br />[syntax=c]DDRD |= (1&lt;&lt;PD1);[/syntax]<br />to to samo co  [syntax=c]DDRD =   DDRD | (1&lt;&lt;PD1);[/syntax] <br />a to jest równe  <br />[syntax=c]DDRD =  DDRD | 2;[/syntax]<br />lub binarnie<br />[syntax=c]DDRD =  DDRD | 0b00000010;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 22 lut 2015, o 00:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marcin_G]]></name></author>
<updated>2015-02-21T18:31:29+01:00</updated>
<published>2015-02-21T18:31:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120255#p120255</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120255#p120255"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120255#p120255"><![CDATA[
Jak już całą raz przeczytałeś, to proponuję przeczytać ją powtórnie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Z własnego doświadczenia wiem że po drugim, a potem trzecim, czwartym <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> razie, wszystko staje się coraz bardziej zrozumiałe <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=758">Marcin_G</a> — 21 lut 2015, o 18:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[aren]]></name></author>
<updated>2015-02-21T18:26:26+01:00</updated>
<published>2015-02-21T18:26:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120254#p120254</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120254#p120254"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120254#p120254"><![CDATA[
Dzięki - już rozumiem. A przecież czytałem o tym w książce ... Chyba za dużo chce na jeden raz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4523">aren</a> — 21 lut 2015, o 18:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[aren]]></name></author>
<updated>2015-02-21T18:06:29+01:00</updated>
<published>2015-02-21T18:06:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120250#p120250</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120250#p120250"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120250#p120250"><![CDATA[
A możecie mi wytłumacyć czym się różni zapis:<br />DDRD |= (1&lt;&lt;PD5);<br />od<br />DDRD = (1&lt;&lt;PD5);<br /><br />Nie mogę zrozumieć działania tej &quot;pionowej kreski&quot;. Przecież sam znak równa się to też jest ustawienie bitu do DDRD ...<br /><br />Coś narazie cięzko mi idzie. Chyba na trzeźwo tego nie ogarne <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=4523">aren</a> — 21 lut 2015, o 18:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marcin_G]]></name></author>
<updated>2015-02-21T14:07:43+01:00</updated>
<published>2015-02-21T14:07:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120207#p120207</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120207#p120207"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120207#p120207"><![CDATA[
<div class="quotetitle">Grzegorz... napisał(a):</div><div class="quotecontent"><br />... Ojjj no to kolego grubo &quot;pojechałeś&quot;.<br />Skompiluj to i sam zobacz ile taki mały programik zajmie Ci pamięci.<br />Temat _delay_ms(x) poruszany był tu już dziesiątki jak nie setki razy.<br /></div><br /><br />Może i grubo. Pytanie jednak, nie było o zoptymalizowanie kodu, ale o warunek &quot;if&quot; . Rozwiązanie które ja podałem jest jednym z możliwych do wprowadzenia od tak na szybko. Oczywiście Twoja odpowiedź z punktu widzenia zajętości pamięci jest o wiele rozsądniejsza, a i przy okazji kolega <strong>aren</strong> poznał do czego służy &quot;else&quot;.<br />Zresztą, jak jeszcze trochę poczyta BB to za chwilę odpuści sobie te &quot;delaye&quot; i zacznie używać timerów programowych <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=758">Marcin_G</a> — 21 lut 2015, o 14:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Grzegorz...]]></name></author>
<updated>2015-02-21T10:41:00+01:00</updated>
<published>2015-02-21T10:41:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120172#p120172</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120172#p120172"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120172#p120172"><![CDATA[
<div class="quotetitle">aren napisał(a):</div><div class="quotecontent"><br />Wybrnąłem z tego tak: ale nie wiem czy to dobry tok myślenia ...<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />int main(void){<br />DDRD = 255;<br />PORTD = 255;<br />while(1) {<br /><br />uint8_t i;<br />for (i=0; i&lt;256; i++){<br />if (i&lt;32){<br />PORTD = (i);<br />_delay_ms(1000);<br />}<br />else<br />{<br />     PORTD = (i);<br />_delay_ms(100);<br />}<br />}<br />}<br />}[/syntax]<br /></div><br /><br />No i proszę prosta konstrukcja zrozumiana, ale ja bym jeszcze coś zmienił:<br /><br />[syntax=c]for (i=0; i&lt;256; i++){<br />                        PORTD = (i);<br />if (i&lt;32){<br />_delay_ms(1000);<br />}<br />else<br />{<br />_delay_ms(100);<br />}<br />}<br />}[/syntax]<br /><br />I już masz krótszy kod wynikowy.<br /><br />-------------------------------------------------------------------------------------------------------- EDIT<br />Sorki z tym krótszym wynikowym to chyba przesadziłem, ale po prostu masz krótszy kod źródłowy.<br />--------------------------------------------------------------------------------------------------------------<br /> <br />Dodatkowo zobacz jak można zapisać jeśli w if wykonujesz tylko jedną instrukcję.<br /><br />-- <br />Grzegorz...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1748">Grzegorz...</a> — 21 lut 2015, o 10:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[aren]]></name></author>
<updated>2015-02-21T10:35:18+01:00</updated>
<published>2015-02-21T10:35:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120171#p120171</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120171#p120171"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120171#p120171"><![CDATA[
Wybrnąłem z tego tak: ale nie wiem czy to dobry tok myślenia ...<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />int main(void){<br />DDRD = 255;<br />PORTD = 255;<br />while(1) {<br /><br />uint8_t i;<br />for (i=0; i&lt;256; i++){<br />if (i&lt;32){<br />PORTD = (i);<br />_delay_ms(1000);<br />}<br />else<br />{<br />     PORTD = (i);<br />_delay_ms(100);<br />}<br />}<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4523">aren</a> — 21 lut 2015, o 10:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Grzegorz...]]></name></author>
<updated>2015-02-21T10:32:59+01:00</updated>
<published>2015-02-21T10:32:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120170#p120170</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120170#p120170"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120170#p120170"><![CDATA[
<div class="quotetitle">aren napisał(a):</div><div class="quotecontent"><br />Yyyy 1000ms to jest jedna sekunda, a 100ms to 0,1 sekundy więc wydaje mi się, że zauważę tą różnice <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Tak to chciałem napisać, że po 32 kroku prędkość świecenia i gaszenia diód wzrośnie 10 razy. Chyba, że jak sugerujesz to jest dodawane 1 + 0,1 sek , wtedy faktycznie nie zauważe.<br /><br />Rzeczywiście zamieniłem delay'e miejscami i program działa, ale nie tak jak ja chciałem .. Te wartości sie dodają a ja chciałem zeby sie tylko zmieniły.<br /></div><br /><br />Poczytaj o konstrukcji if...else.<br /><br />Zauważ, że ja Ci będę podsuwał tylko sugestie bez &quot;gotowców&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />.<br /><br />-- <br />Pozdrawiam.<br />Grzegorz...<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br /><div class="quotetitle">Marcin_G napisał(a):</div><div class="quotecontent"><br />Może tak<br /><br />[syntax=c]int main(void){<br />DDRD = 255;<br />PORTD = 255;<br /><br />uint16_t x = 1000<br /><br />while(1) {<br /><br />  uint8_t i;<br />  for (i=0; i&lt;256; i++){<br />    PORTD = (i);<br />    if (i&gt;32){<br />      x = 100;<br />      }<br />  _delay_ms(x);<br />}<br />}[/syntax]<br /></div><br /><br />Ojjj no to kolego grubo &quot;pojechałeś&quot;.<br />Skompiluj to i sam zobacz ile taki mały programik zajmie Ci pamięci.<br />Temat _delay_ms(x) poruszany był tu już dziesiątki jak nie setki razy.<br /><br />-- <br />Grzegorz...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1748">Grzegorz...</a> — 21 lut 2015, o 10:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marcin_G]]></name></author>
<updated>2015-02-21T10:31:29+01:00</updated>
<published>2015-02-21T10:31:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120169#p120169</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120169#p120169"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120169#p120169"><![CDATA[
Może tak<br /><br />[syntax=c]int main(void){<br />DDRD = 255;<br />PORTD = 255;<br /><br />uint16_t x = 1000<br /><br />while(1) {<br /><br />  uint8_t i;<br />  for (i=0; i&lt;256; i++){<br />    PORTD = (i);<br />    if (i&gt;32){<br />      x = 100;<br />      }<br />  _delay_ms(x);<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=758">Marcin_G</a> — 21 lut 2015, o 10:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[aren]]></name></author>
<updated>2015-02-21T10:35:44+01:00</updated>
<published>2015-02-21T10:21:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120168#p120168</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120168#p120168"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120168#p120168"><![CDATA[
Yyyy 1000ms to jest jedna sekunda, a 100ms to 0,1 sekundy więc wydaje mi się, że zauważę tą różnice <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Tak to chciałem napisać, że po 32 kroku prędkość świecenia i gaszenia diód wzrośnie 10 razy. Chyba, że jak sugerujesz to jest dodawane 1 + 0,1 sek , wtedy faktycznie nie zauważe.<br /><br />Rzeczywiście zamieniłem delay'e miejscami i program działa, ale nie tak jak ja chciałem .. Te wartości sie dodają a ja chciałem zeby sie tylko zmieniły.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4523">aren</a> — 21 lut 2015, o 10:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Grzegorz...]]></name></author>
<updated>2015-02-21T10:19:31+01:00</updated>
<published>2015-02-21T10:19:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120167#p120167</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120167#p120167"/>
<title type="html"><![CDATA[Re: Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120167#p120167"><![CDATA[
Odpowiedz najpierw sobie co chciałeś osiągnąć i czy to na pewno nie działa?<br />Pomyśl czy gołym okiem zauważysz różnicę świecenia diody przez 1s, a 1,1 s.<br /><br />-- <br />Grzegorz...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1748">Grzegorz...</a> — 21 lut 2015, o 10:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[aren]]></name></author>
<updated>2015-02-21T10:07:22+01:00</updated>
<published>2015-02-21T10:07:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120165#p120165</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120165#p120165"/>
<title type="html"><![CDATA[Diody początkującego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10751&amp;p=120165#p120165"><![CDATA[
Witajcie.<br />Dopiero zaczynam i jestem całowicie początkujący. Kupiłem ksiązke BB i po przeczytaniu teorii doszedłem do praktyki. Chciałem sobie poćwiczyć jak to bywa na początku z diodami i ze składnią programu. Na początku napisałem taki program:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />int main(void){<br />DDRD = 255;<br />PORTD = 255;<br />while(1) {<br /><br />uint8_t i;<br />for (i=0; i&lt;256; i++){<br />         PORTD = (i);<br />_delay_ms(1000);<br />}<br />         }<br />}[/syntax]<br />Działa on tak jak chciałem. Ale pomyślałem sobie, żeby przetestować funkcje if. W związku z tym chciałem wstawić warunek<br />[syntax=c]if (i&gt;32)<br />{<br />_delay_ms(100);<br />}[/syntax]<br />Ale nie wiem gdzie jest bład bo program zachowuje się tak jakby nie widział tego warunku. Program wygląda tak:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />int main(void){<br />DDRD = 255;<br />PORTD = 255;<br />while(1) {<br /><br />uint8_t i;<br />for (i=0; i&lt;256; i++){<br />PORTD = (i);<br />_delay_ms(1000);<br />if (i&gt;32)<br />{<br />_delay_ms(100);<br />}<br />}<br />}<br />}[/syntax]<br /><br />Pomożecie mi zrozumieć co jest nie tak ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4523">aren</a> — 21 lut 2015, o 10:07</p><hr />
]]></content>
</entry>
</feed>