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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-02-26T08:29:06+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=6109&amp;mode</id>
<entry>
<author><name><![CDATA[karolek]]></name></author>
<updated>2014-02-26T08:29:06+01:00</updated>
<published>2014-02-26T08:29:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=72089#p72089</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=72089#p72089"/>
<title type="html"><![CDATA[Re: Wywołanie czynności na pewien czas bez delaya]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=72089#p72089"><![CDATA[
<div class="quotetitle">ReaBooK napisał(a):</div><div class="quotecontent"><br />Akurat w tym przypadku nie było mowy o drganiu styków, bo ręcznie zwierałem kabelek do masy. Poza tym nie zatrzymywał sie w okresie wciskania, tylko po jakimś czasie nieużywania.<br /></div><br /><br /><br />zobacz na to <br /><!-- m --><a class="postlink" href="https://github.com/Zuph/AVRQueue" >https://github.com/Zuph/AVRQueue</a><!-- m --><br /><br />[syntax=c]#include &lt;Queue.h&gt;<br />void setup() {<br />    pinMode(13, OUTPUT);<br />    Serial.begin(9600);<br />    Serial.println(&quot;Alive&quot;);<br /> <br />    Queue myQueue;<br />    myQueue.scheduleFunction(testFunction, &quot;Test&quot;, 5000, 1000);<br /> <br />    while(1) {<br />        myQueue.run(millis());<br />        delay(10);<br />    }<br />}<br />int testFunction(unsigned long now)<br />{<br />    Serial.print(&quot;Hello: &quot;);<br />    Serial.println(now);<br />}[/syntax]<br /><br />albo drugi przykład tez ciekawe :<br /><!-- m --><a class="postlink" href="http://bleaklow.com/2010/07/20/a_very_simple_arduino_task_manager.html" >http://bleaklow.com/2010/07/20/a_very_s ... nager.html</a><!-- m --><br /><br /><br />i 3 przyklad:<br /><!-- m --><a class="postlink" href="http://chrisbarlow.wordpress.com/2012/09/13/reliable-task-scheduling-with-arduino-avr/" >http://chrisbarlow.wordpress.com/2012/0 ... duino-avr/</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2535">karolek</a> — 26 lut 2014, o 08:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ReaBooK]]></name></author>
<updated>2014-02-26T07:40:52+01:00</updated>
<published>2014-02-26T07:40:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=72087#p72087</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=72087#p72087"/>
<title type="html"><![CDATA[Re: Wywołanie czynności na pewien czas bez delaya]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=72087#p72087"><![CDATA[
Akurat w tym przypadku nie było mowy o drganiu styków, bo ręcznie zwierałem kabelek do masy. Poza tym nie zatrzymywał sie w okresie wciskania, tylko po jakimś czasie nieużywania.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2939">ReaBooK</a> — 26 lut 2014, o 07:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xor]]></name></author>
<updated>2014-02-25T22:18:00+01:00</updated>
<published>2014-02-25T22:18:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=72061#p72061</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=72061#p72061"/>
<title type="html"><![CDATA[Re: Wywołanie czynności na pewien czas bez delaya]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=72061#p72061"><![CDATA[
Nie &quot;lubi się zaciąć&quot; tylko program źle napisałeś. Przede wszystkim zapoznaj się z pojęciem drgania styków np. tu <a href="http://mirekk36.blogspot.com/2012/10/drgania-stykow-to-bajki-wiec-jak-to.html"  class="postlink">http://mirekk36.blogspot.com/2012/10/drgania-stykow-to-bajki-wiec-jak-to.html</a>(3 odcinki) albo z arduinowatego punktu widzenia: <a href="http://arduino.cc/en/Tutorial/Debounce"  class="postlink">http://arduino.cc/en/Tutorial/Debounce</a>.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1774">xor</a> — 25 lut 2014, o 22:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gedo]]></name></author>
<updated>2014-02-22T14:30:09+01:00</updated>
<published>2014-02-22T14:30:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=71537#p71537</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=71537#p71537"/>
<title type="html"><![CDATA[Re: Wywołanie czynności na pewien czas bez delaya]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=71537#p71537"><![CDATA[
Na przerwaniach?<br />1. Przerwanie co ileś czasu zwiększa zmienną <strong>czas</strong><br />2. Jak taka zmienna uzbiera wartość odpowiadającą 5s to <br />3. w warunku If sprawdzasz to i wyłączasz to co potrzebujesz<br /><br />na zasadzie działu z BB wstęp do systemów czasu rzeczywistego.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=690">gedo</a> — 22 lut 2014, o 14:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ReaBooK]]></name></author>
<updated>2014-02-22T14:26:18+01:00</updated>
<published>2014-02-22T14:26:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=71535#p71535</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=71535#p71535"/>
<title type="html"><![CDATA[Wywołanie czynności na pewien czas bez delaya]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6109&amp;p=71535#p71535"><![CDATA[
Cześć,<br />rozkminiam jak po wciśnięciu przycisku włączyć, a następnie automatycznie po 5 sekundach ją wyłączyć. Moją zmorą jest tutaj oczywiście brak możliwości użycia delaya. Próbowałem zrobić z porównywaniem czasu z millis(), ale program lubi się zaciąć. <br />[syntax=c]int czas;<br /><br />void setup()<br />{<br />  pinMode(13, OUTPUT);<br />  pinMode(12, INPUT_PULLUP);<br />}<br /><br />void loop()<br />{<br />  if(digitalRead(12) == HIGH)<br />  {<br />    czas = millis();<br />    while(czas+5000&gt;=millis())<br />    {<br />      digitalWrite(13, HIGH);<br />    }<br />    digitalWrite(13, LOW);<br />  }<br />}[/syntax]<br /><br />W jaki inny sposób mogę to zrobić?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2939">ReaBooK</a> — 22 lut 2014, o 14:26</p><hr />
]]></content>
</entry>
</feed>