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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-06-19T19:01:22+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=12061&amp;mode</id>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2015-06-19T19:01:22+01:00</updated>
<published>2015-06-19T19:01:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12061&amp;p=132193#p132193</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12061&amp;p=132193#p132193"/>
<title type="html"><![CDATA[Re: Prośba o wyjaśnienie kodu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12061&amp;p=132193#p132193"><![CDATA[
Tylko się nie obraź ale kolega @jerrylu podał Ci link do artykułu gdzie<br />jest to dogłębnie wyjaśnione co ta konstrukcja programowa robi  i jak działa.<br /><br />konkretnie ten &quot;if&quot; się wykona kiedy zmienna &quot;key_lock_6&quot; i pin uC będą miały wartość <br />większą od zera .<br /><br />Inaczej pisząc jak pin jest podciągnięty do VCC wewnętrznym rezystorem &quot;pull_up&quot; i <br />nie jest wciśnięty klawisz  łączący ten pin z masą (klawisz jest zwolniony) występuje<br />na tym pinie stan wysoki i dodatkowo zmienna &quot;key_lock_6&quot; jest większa od &quot;zera&quot;<br /><br />W ten sposób są eliminowane drgania styków po puszczeniu klawisza przez zwiększanie<br />zmiennej aż do przepełnienia co zajmuje jakiś czas, czas potrzebny do wygaśnięcia drgań.<br />Zaletą tego sposobu jest to że nie blokuje on uC tak jak funkcja delay_ms().<br /><br />Musisz Sobie wyobrazić że uC w czasie trwania drgań styków przycisku (20 - 80 ms)<br />może wykonać setki jak nie tysiące instrukcji asemblerowych więc po co go zatrzymywać <br />na tak długo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1044">Zaba</a> — 19 cze 2015, o 19:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kaim]]></name></author>
<updated>2015-06-19T18:10:37+01:00</updated>
<published>2015-06-19T18:10:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12061&amp;p=132189#p132189</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12061&amp;p=132189#p132189"/>
<title type="html"><![CDATA[Re: Prośba o wyjaśnienie kodu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12061&amp;p=132189#p132189"><![CDATA[
No tak, jak to rozumiem. Nawet na stykówce podłączyłem sobie układ z klawiszem na lcd wyświetlam zmienna key_lock i jak klikam to zmienna key_lock jest inkrementowane cały czas do momentu puszczenia.<br /><br />To czego  nie rozumiem to tego warunku:<br /><br />[syntax=c]else if( key_lock_6 &amp;&amp; (PIND &amp; KEY6 )[/syntax]<br /><br />co tutaj sprawdzamy?? Jaka powinna być zmienna key_lock ??<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 33 minutach ]</span></strong><br /><br />Już chyba wiem, sprawdzamy czy wartość key_lock jest większa od 0 <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=6730">Kaim</a> — 19 cze 2015, o 18:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jerrylu]]></name></author>
<updated>2015-06-19T17:58:48+01:00</updated>
<published>2015-06-19T17:58:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12061&amp;p=132187#p132187</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12061&amp;p=132187#p132187"/>
<title type="html"><![CDATA[Re: Prośba o wyjaśnienie kodu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12061&amp;p=132187#p132187"><![CDATA[
Tutaj jest to ładnie wyjaśnione przez Mirka: <!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-drgania-stykow-cd2.html" >http://mirekk36.blogspot.com/2012/10/ob ... w-cd2.html</a><!-- m --><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />key_lock jest  incrementowane do przepełnienia bajtu, czyli do 255 + 1 co daje 0 (zero)<br />Takie softwarowe opóźnienie bez delay.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8719">jerrylu</a> — 19 cze 2015, o 17:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kaim]]></name></author>
<updated>2015-06-19T17:39:43+01:00</updated>
<published>2015-06-19T17:39:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12061&amp;p=132184#p132184</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12061&amp;p=132184#p132184"/>
<title type="html"><![CDATA[Prośba o wyjaśnienie kodu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12061&amp;p=132184#p132184"><![CDATA[
Witam. Zajmuję się w tym moemencie obsługą klwiszy z II części.<br /><br />[syntax=c]if( !key_lock &amp;&amp; !(PINC &amp; KEY1 ) ) {<br />  key_lock=1;<br /> <br />  // reakcja na PRESS (wcinięcie przycisku)<br />  PORTC ^= LED;<br /> <br /> } else if( key_lock &amp;&amp; (PINC &amp; KEY1 ) ) key_lock++;[/syntax]<br /><br />I teraz tak, w pierwszej części sprawdzamy czy key_lock == 0 i czy klawisz wciśnięty, jeżeli tak to zmienna key_lock =1. Oraz wykonujemy jakąś funkcję np miganie diodą LED.<br /><br />Nie rozumiem warunku po else a dokładnie zapisu <br /><br />[syntax=c]if( key_lock)[/syntax]<br /><br />Sprawdzamy czy zmienna jest różna od 0 ??  Czytam poradnik Pana Mirka już 3 raz ale nie wiem czy dobrze to rozumiem. Może trochę brak elementarnej wiedzy, bo nie rozumiem tego zapisu. Przeważnie w warunku if () jest określone czy coś jest mniejsze większe czy różne. <br /><br />Proszę o pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6730">Kaim</a> — 19 cze 2015, o 17:39</p><hr />
]]></content>
</entry>
</feed>