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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-05-29T17:25:14+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=18498&amp;mode</id>
<entry>
<author><name><![CDATA[Manianass]]></name></author>
<updated>2017-05-29T17:25:14+01:00</updated>
<published>2017-05-29T17:25:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189945#p189945</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189945#p189945"/>
<title type="html"><![CDATA[Re: długie przytrzymanie klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189945#p189945"><![CDATA[
Ok, a Wiec zamieszczę kawałek kodu i się przekonam czy mój tok Pisania programu jest w miarę dobry czy raczej do niczego , znaczy do niczego to raczej nie bo program działa tak jak zakładam  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />[syntax=c]&#91;code&#93;<br /><br />// M1 Opuszczanie R1<br />#define M1 (1&lt;&lt;PB0) //deklaracja pinu jazda w dół<br />#define M1_On PORTB |= M1 //zmiana stanu pinu na 0<br />#define M1_Off PORTB &amp;= ~M1 // zmiana stanu pinu na 1<br /><br />// Klawisz D1 zamykanie rolety<br />#define Key_PinD2 (1&lt;&lt;PD2)<br />#define D1 !(PIND &amp; Key_PinD2)<br /><br />    uint8_t R1M1=0;<br />    uint8_t R1M2=0;<br /><br />if (0 == R1M2)<br /> {<br />if (D1)  // Wcisniecie klawisza D1<br /> {<br />  _delay_ms(25);<br />  if(D1)<br />   {<br />if( 0 == R1M1)<br /> {<br />M1_On; <br />R1M1=1;<br /><br />R1M2=0;<br /> }<br />else<br /> {<br />M1_Off;<br />R1M1=0;<br /><br />R1M2=1;<br /> }<br />_delay_ms(250);<br />}<br /> }<br />  }<br />else<br /> {<br />if (D1)<br /> {<br />  _delay_ms(25);<br />  if(D1)<br />   {<br />if( 0 == R1M1)<br /> {<br />M2_Off;<br />_delay_ms(400);<br />M1_On;<br />R1M1=1;<br /><br />R1M2=1;<br /> }<br />else<br /> {<br />M1_Off;<br />R1M1=0;<br /><br />R1M2=1;<br /> }<br />_delay_ms(250);<br />}<br /> }<br /> }<br />}<br /><br /><br />&#91;/code&#93;[/syntax]<br /><br /><br />Zasada działania Jak nacisnę klawisz D1 to silnik &quot;kreci&quot; się w prawo, drugie naciśniecie silnik się zatrzymuje<br />M2_Off to wyłączanie silnika, dlatego jest następna zmienna  R1M2 gdy ma stan ==1 to znaczy ze silnik &quot;kreci&quot; się w Lewo i najpierw muszę go zatrzymać (M2_Off) poczekać aż wyhamuje (_delay_ms 400) i załączyć prawe obroty M1_On<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10305">Manianass</a> — 29 maja 2017, o 17:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2017-05-29T14:16:01+01:00</updated>
<published>2017-05-29T14:16:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189940#p189940</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189940#p189940"/>
<title type="html"><![CDATA[Re: długie przytrzymanie klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189940#p189940"><![CDATA[
Może tak na prostą logikę, aby łatwiej było zrozumieć podobne zależności czasowe... Bierzemy dodatkową zmienna i inkrementujemy ją przez cały czas wciśnięcia klawisza. Oczywiście badanie klawisza dobrze jest okrasić jakimś opóźnieniem (interwałem) milisekundowym (10-20ms) zrobionym ostatecznie na delay choć zalecam timer programowy z wykorzystaniem przerwań. Teraz jeśli znamy opóźnienie i stan inkrementowanej zmiennej bez problemu trafimy w moment, w którym ma być wykonana funkcja w zależności od czasu przyciskania. Jeśli klawisz puszczony to zmienna zerowana. Tą prostą zasadę można stosować w przeróżnych konfiguracjach i na tej podstawie stworzyć badanie nawet kilkunastu stanów jednego klawisza - coś podobnego wykorzystałem kiedyś do jednoprzyciskowego zamka szyfrowego napisanego jeszcze w bascomie. Program gdzieś na elektrodzie się poniewiera.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 29 maja 2017, o 14:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2017-05-29T09:18:03+01:00</updated>
<published>2017-05-29T09:18:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189927#p189927</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189927#p189927"/>
<title type="html"><![CDATA[Re: długie przytrzymanie klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189927#p189927"><![CDATA[
<div class="quotetitle">Manianass napisał(a):</div><div class="quotecontent"><br />W sumie racja czarna magia, ale działa  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /></div><br /><br />to może napisz czego nie rozumiesz spróbujemy wyjaśnić <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=4651">mczarny</a> — 29 maja 2017, o 09:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[danny]]></name></author>
<updated>2017-05-29T09:07:33+01:00</updated>
<published>2017-05-29T09:07:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189926#p189926</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189926#p189926"/>
<title type="html"><![CDATA[Re: długie przytrzymanie klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189926#p189926"><![CDATA[
<div class="quotetitle">Manianass napisał(a):</div><div class="quotecontent"><br />...wiem ze składnia mojego programu tez pewnie nie jest najlepsza jak bym wkleił kod to pewnie wyśmiali byście  Mnie .<br />dzięki za pomoc.<br /></div><br /><br />To nie jest forum na &quot;e&quot;. <br />Co najwyżej dostały kolega wskazówki odnośnie kilku zasad pisania programu,  tak żeby od początku wyrobić sobie nawyk poprawnego pisania kodu. <br /><br />Na tym forum nikt nie wyśmiewa początkujących.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1505">danny</a> — 29 maja 2017, o 09:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Manianass]]></name></author>
<updated>2017-05-28T18:36:26+01:00</updated>
<published>2017-05-28T18:36:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189905#p189905</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189905#p189905"/>
<title type="html"><![CDATA[Re: długie przytrzymanie klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189905#p189905"><![CDATA[
W sumie racja czarna magia, ale działa  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Wiem ze delaye sa bee ale nie umiem , nie wiem jak ich się pozbyć, ale jak na razie pisze programy których czas działania nie jest ważny. Jak dla Mnie ważne ze działa i robi tak jak Ja che (czasem z pomocą forum działa tak jak Ja che ), wiem ze składnia mojego programu tez pewnie nie jest najlepsza jak bym wkleił kod to pewnie wyśmiali byście  Mnie .<br />dzięki za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10305">Manianass</a> — 28 maja 2017, o 18:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-05-28T18:09:13+01:00</updated>
<published>2017-05-28T18:09:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189901#p189901</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189901#p189901"/>
<title type="html"><![CDATA[Re: długie przytrzymanie klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189901#p189901"><![CDATA[
hi hi .. @mczarny. dobrze piszesz. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />kurcze - kolega dopytuje o takie tematy i używa jeszcze delayów.  <img src="https://forum.atnel.pl/images/smilies/icon_e_confused.gif" alt=":?" title="Boi się" /> <br />może jeszcze nie załapać &quot;key_lock&quot; i całej zasady działania &quot;SuperDebounce&quot;. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />może jeszcze kilka dni za wcześnie. Ale link jak najbardziej.  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 28 maja 2017, o 18:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2017-05-28T17:58:08+01:00</updated>
<published>2017-05-28T17:58:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189900#p189900</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189900#p189900"/>
<title type="html"><![CDATA[Re: długie przytrzymanie klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189900#p189900"><![CDATA[
<a href="http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-drgania-stykow-cd2.html"  class="postlink">http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-drgania-stykow-cd2.html</a><br />przeczytaj i wiesz wszystko <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4651">mczarny</a> — 28 maja 2017, o 17:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-05-28T17:58:18+01:00</updated>
<published>2017-05-28T17:56:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189899#p189899</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189899#p189899"/>
<title type="html"><![CDATA[Re: długie przytrzymanie klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189899#p189899"><![CDATA[
Witam,<br />może coś w tę stronę ?<br />[syntax=c]while(1)<br />{if (D2 ) {<br />_delay_ms(25);<br />if(D2 &amp;&amp; klucz) {<br />if( 0 == R1M1) {M1_On; R1M1=1;}<br />else {M1_Off; R1M1=0;}<br />_delay_ms(250);  <br />klucz=0;<br />}<br />} else klucz=1;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 28 maja 2017, o 17:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Manianass]]></name></author>
<updated>2017-05-28T17:41:10+01:00</updated>
<published>2017-05-28T17:41:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189898#p189898</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189898#p189898"/>
<title type="html"><![CDATA[długie przytrzymanie klawisz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18498&amp;p=189898#p189898"><![CDATA[
Witam, dzisiaj trapi mnie problem jak zrobić obsługę przycisku ale w taki spodub ze wciskamy i trzymamy jak długo nam sie podoba ale procedura obsługi klawisza zadziała tylko raz.<br />Opis działania<br />- po wciśnięciu przycisku dioda Led zapala się <br />- drugie wciśniecie gaszenie diody<br />- kolejne wciśniecie zapalenie diody Led i tak w kółko<br />teraz jak trzymam Przycisk to dioda Led mruga a jak to obejsc.<br /><br /><br />oto kod<br />[syntax=c]&#91;code&#93;<br />while(1)<br /> {<br />  if (D2 )<br />  {<br />    _delay_ms(25);<br />     if(D2 )<br />      {<br />        if( 0 == R1M1)<br />        {<br />        M1_On;<br />R1M1=1;<br />       }<br />     else<br />      {<br />         M1_Off;<br />R1M1=0;<br />   }<br />  _delay_ms(250);<br />  }<br /> } <br /> <br />&#91;/code&#93;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10305">Manianass</a> — 28 maja 2017, o 17:41</p><hr />
]]></content>
</entry>
</feed>