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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=15999&amp;mode</id>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-08-15T19:51:04+01:00</updated>
<published>2016-08-15T19:51:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166102#p166102</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166102#p166102"/>
<title type="html"><![CDATA[Re: pytanie o deklarację funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166102#p166102"><![CDATA[
<img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> A proszę.<br />Jeszcze trochę i napiszemy tu BB od nowa - tak na chłopski rozum.<br />Oby tylko nie wyszło &quot;uczył Marcin Marcina&quot; <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" />  bo ja tez początkujący  <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> <br />A.. w razie czego .. Ktoś mnie naprostuje  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br /><br />To jest dla przykładu funkcja która także sprawdza stan na pinie - dokładnie jak w poprzednim poście.<br />dodatkowo odczekuje XXms i jeżeli po tym czasie nadal jest stan niski na pinie zwraca wartośc 1, jeżeli nie to wartość 0.<br /><br />Cały warunek został dla lepszej czytelności zastąpiony w makro na jedno krótkie KEY_DOWN. (BB. w linijce #define ....)<br />Teraz zamiast pisać:<br />[syntax=c]if(!(PINC &amp; KEY_PIN)){<br />  }[/syntax]<br />można wyraźniej <br />[syntax=c]if(KEY_DOWN){<br />}[/syntax] na jedno wyjdzie.<br /><br />Jeżeli teraz takie makro użyjemy w funkcji np.<br />[syntax=c]uint8_t  nacisniety(void) <br />  { <br />         if(KEY_DOWN)  /*jezeli nacisniety*/<br />           {<br />            _delay_ms....... /*funkcja odczeka okreslony czas zanim ruszy dalej*/<br />            if(KEY_DOWN)  /*jezeli nadal jest nacisniety to w miejsce wywołania funkcji wstawiaj 1 */<br />                 {<br />                  return 1;  <br />                 }<br />            return 0;  /*jezeli juz puszczony wstawiaj 0*/<br />           }<br />  }[/syntax]<br />to przy wywołaniu funkcji w pętli, w momencie naciśnięcia przycisku na dłużej niż te ms , będzie się wykonywać TOGowanie, a po TOG ponowne odczekanie z ifa w pętli ms200.<br /><br /> <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  czyta czyta <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> , tylko powoli pisze.  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />a.. to do kolegi.  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <br />W sumie to ja nie mam monopolu na pomaganie  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> - może każdy po swojemu tłumaczyć, aż dotrze <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=11549">Daro69</a> — 15 sie 2016, o 19:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wirnick]]></name></author>
<updated>2016-08-15T20:26:43+01:00</updated>
<published>2016-08-15T19:45:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166101#p166101</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166101#p166101"/>
<title type="html"><![CDATA[Re: pytanie o deklarację funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166101#p166101"><![CDATA[
Przykład ze strony 190 BB nie zawiera wyrażenia &quot;unit8_t&quot;, natomiast jest uint8_t(unsignet integer 8-bitowy). Jest to informacja dla kompilatora - jaką wartość może posiadać funkcja klawisz_wcisniety() - 0000 0001 lub 0000 0000. &quot;void&quot; - funkcja pusta - nie jest modyfikowana żadna zmienna wcześniej deklarowana.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9272">Wirnick</a> — 15 sie 2016, o 19:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-08-15T19:31:00+01:00</updated>
<published>2016-08-15T19:31:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166099#p166099</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166099#p166099"/>
<title type="html"><![CDATA[Re: pytanie o deklarację funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166099#p166099"><![CDATA[
Witam<br />Co prawda nie Darek, ale:<br />...oj nie chce się czytać, albo kartki się posklejały  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />Przecież na samym początku masz:<br />[syntax=c]#define KEY_DOWN !(PINC &amp; KEY_PIN)[/syntax]<br />a we właściwej funkcji w miejsce KEY_DOWN... a zresztą sam chyba sobie dopowiesz cd.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 15 sie 2016, o 19:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2016-08-15T18:28:51+01:00</updated>
<published>2016-08-15T18:28:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166095#p166095</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166095#p166095"/>
<title type="html"><![CDATA[Re: pytanie o deklarację funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166095#p166095"><![CDATA[
no teraz to już chyba każdy zrozumie. jestem pod wrażeniem:) , to jeszcze poprosiłbym kolegę Darka o wyjaśnienie w podobny sposób przykładu ze strony 190 bluebooka , odnośnie przykładu z :<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">unit8_t klawisz_wcisniety(void)</div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 15 sie 2016, o 18:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-08-15T16:47:48+01:00</updated>
<published>2016-08-15T16:47:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166083#p166083</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166083#p166083"/>
<title type="html"><![CDATA[Re: pytanie o deklarację funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166083#p166083"><![CDATA[
cześć,<br /><div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />a czy możecie (tak na chłopski rozum) wyjaśnić mi wyrażenie :<br />Kod:<br />!(PINC &amp; KEY_PIN)<br /></div><br />To może teraz tak trochę obrazowo. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Jeżeli kolega już załapał, to może komuś kiedyś coś rozjaśni. <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <br /><br />[syntax=c]DDRC &amp;= ~(1&lt;&lt;PC6);[/syntax] /*w rejestrze DDRC noga PC6 jako wejście, _0__ ____*/<br /><br />[syntax=c]PORTC |= KEY_PIN;[/syntax] /* w rejestrze PORTC noga PC6 do vcc- (delikatnie podciągana do vcc żeby nie pływało napięcie jeżeli nic nie podłączysz)*/<br /><br />/*PINC - to rejestr wejściowy - przechowuje stan na nóżkach,*/<br />/*ponieważ wyżej wpisaliśmy podciąganie na PB6, to w rejestrze PINC  _1__ ____,  */<br />/*a teraz jeżeli wciśniesz klawisz na PB6, to wymusi w rejestrze PINC _0__ ____   */<br />/*KEY_PIN w tym przykładzie to PB6 czyli  0100 0000  */<br />/* PINC     &amp;    KEY_PIN    */<br />/*     (  _0__ ____  &amp;  0100 0000  ) jeżeli wciśnięty to wynikiem jest  0000 0000 -fałsz 0*/<br />/*     (  _1__ ____  &amp;  0100 0000  ) jeżeli nie wciśnięty to wynikiem jest  0100 0000 -prawda 1*/<br /><br />/*po operacji !  wyniki się negują - czyli w wyrażeniu [syntax=c]if( !(PINC &amp; KEY_PIN))<br />     {<br />     }[/syntax]prawdą (1) jest wciśnięty, a fałszem (0) nie wciśnięty*/<br /><br />Reasumując: sprawdzamy czy jest nie prawdą że na wejściu PINC jest stan wysoki w miejscu określonym przez KEY_PIN, <img src="https://forum.atnel.pl/images/smilies/icon_rolleyes.gif" alt=":roll:" title="Udaje, że to nie on" /> <br />pozdrawiam Darek<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 15 sie 2016, o 16:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2016-08-15T14:19:58+01:00</updated>
<published>2016-08-15T14:19:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166075#p166075</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166075#p166075"/>
<title type="html"><![CDATA[Re: pytanie o deklarację funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166075#p166075"><![CDATA[
dziękuję za to logiczne wytłumaczenie. <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=14082">wojciechgorzolka</a> — 15 sie 2016, o 14:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[HomoChemicus]]></name></author>
<updated>2016-08-15T14:09:44+01:00</updated>
<published>2016-08-15T14:09:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166072#p166072</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166072#p166072"/>
<title type="html"><![CDATA[Re: pytanie o deklarację funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166072#p166072"><![CDATA[
PINC, to rejestr stanu pinów portu C. W tym fragmencie sprawdzasz, czy na PC6 jest stan wysoki, a następnie negujesz (bo stan wciśnięcia klawisza, to stan niski).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10470">HomoChemicus</a> — 15 sie 2016, o 14:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2016-08-15T12:50:14+01:00</updated>
<published>2016-08-15T12:50:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166063#p166063</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166063#p166063"/>
<title type="html"><![CDATA[Re: pytanie o deklarację funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166063#p166063"><![CDATA[
a czy możecie (tak na chłopski rozum) wyjaśnić mi wyrażenie :<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">!(PINC &amp; KEY_PIN)</div><br /><br />ja to rozumiem tak,że całe wyrażenie jest zanegowane:<br /> Na pinie PC6 jest stan wysoki,<br />PINC - czyli jest podciągnięty wewnętrzny rezystor<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 15 sie 2016, o 12:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-08-15T11:03:37+01:00</updated>
<published>2016-08-15T11:03:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166061#p166061</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166061#p166061"/>
<title type="html"><![CDATA[Re: pytanie o deklarację funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166061#p166061"><![CDATA[
Witam<br /><div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />Pytanie moje dotyczny deklaracji funkcji:<br />[syntax=c]unit8_t klawisz_wcisniety (void);[/syntax]<br /><br />wertując książkę i czytjąc informację o tej deklaracji wywnioskowałem ,że nie ma ona żadnej wartości, co oznacza,że jest równa 0. czy to prawda?<br /></div><br />Jak podkreślił kol.<strong>HomoChemicus</strong> troszkę Cię poniosło, a zaczęło się od czytania o deklaracji.<br />Jeśli przed &quot;klawisz_wciśnięty&quot; znajduje się uint8_t to jednak jakąś wartość ma ( zwraca ).<br />Deklaracja jak to deklaracja - coś tam wspomina o funkcji, ale należy przyjrzeć się samej funkcji a tam już widzimy że:<br />[syntax=c]uint8_t klawisz_wcisniety(void)<br />{<br />if( KEY_DOWN )// klawisz wciśnięty ?<br />{<br />_delay_ms(80);// czas drgań styków<br />if( KEY_DOWN ) return 1;   // jeśli wciśnięty?  zakończ funkcję REZULTAT=1<br />}<br /><br />return 0;// jeśli nie wciśnięty klawisz, zakończ funkcję, REZULTAT=0<br />}[/syntax]<br />...i te &quot;returny&quot; są wartością &quot;klawisz_wciśnięty&quot;.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 15 sie 2016, o 11:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[HomoChemicus]]></name></author>
<updated>2016-08-15T09:25:07+01:00</updated>
<published>2016-08-15T09:25:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166057#p166057</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166057#p166057"/>
<title type="html"><![CDATA[Re: pytanie o deklarację funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166057#p166057"><![CDATA[
Mocno się pogubiłeś. Funkcja klawisza zwraca 0, gdy klawisz nie jest wciśnięty, a jakąś wartość, gdy jest wciśnięty. <br />Czyli dla wyrażenia warunkowego jest fałszem (zerem), lub prawdą (liczbą inną niż zero).<br />Sprawdź, co kryje się pod magicznym LED_TOG, a zobaczysz co dzieje się w tym kodzie ze stanem wyjścia.<br /><br />Co do drugiego pytania. Potrzebujesz jeszcze definicji funkcji obsługi klawisza i LED_TOG, ustawienia wyjścia portu dla diody i musisz dopisać funkcję main.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10470">HomoChemicus</a> — 15 sie 2016, o 09:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2016-08-15T09:16:19+01:00</updated>
<published>2016-08-15T09:16:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166056#p166056</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166056#p166056"/>
<title type="html"><![CDATA[pytanie o deklarację funkcji.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15999&amp;p=166056#p166056"><![CDATA[
Cześć. <br />analizuję kod z bluebooka ze strony 190. <br />W górnej części programu jest definicja dla preprocesora odnosząca się do diody led oraz klawisza - i to jest dla mnie zrozumiałe.<br />Pytanie moje dotyczny deklaracji funkcji:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">unit_t klawisz_wcisniety (void);</div><br /><br />wertując książkę i czytjąc informację o tej deklaracji wywnioskowałem ,że nie ma ona żadnej wartości, co oznacza,że jest równa 0. czy to prawda?<br /><br />w pętli głównej jest wywołana ta funkcja po if<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">if(klawisz_wcisniety() )    //jeśli klawisz wciśnięty</div><br /><br />rozumiem to następująco:<br /><br />do mikrokontrolera jest podłączona dioda led, aby diodę zaświecić musimy podać stan niski, ponieważ jest podłączona katodą.<br />Na innym pinie jest wejście i podciągnięty wewnętrzny rezystor, który wymusza stan wysoki - do tego pinu jest podłączony klawisz.<br /><br />I teraz aby włączyć diodę, to użyjemy naszej funkcji ''klawisz wcisniety&quot; ( która ma wartość zero). czyli po nasićnięciu klawisza podajemy właśnie to zero z funkcji i dioda się zapali.<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">while (1)<br />{<br />if( klawisz_wcisniety() )<br />{<br />LED_TOG;<br />_delay_ms(200);</div><br /><br />Pytanie nr 2. czy to jest koniec programu? Pytam , ponieważ na kolejnej stronie jest kolejny kod i zastanawiam się czy to jest druga część tego kodu, czy już całkiem coś innego.<br /><br /><br />Wojtek:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 15 sie 2016, o 09:16</p><hr />
]]></content>
</entry>
</feed>