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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-07-07T22:43:06+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=7706&amp;mode</id>
<entry>
<author><name><![CDATA[ps19]]></name></author>
<updated>2014-07-07T22:43:06+01:00</updated>
<published>2014-07-07T22:43:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7706&amp;p=86964#p86964</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7706&amp;p=86964#p86964"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne i timer]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7706&amp;p=86964#p86964"><![CDATA[
RafPe, ATOMIC_BLOCK zablokuje mi przerwania całkiem a nie timer. Chcę wyłączyć timer tylko na czas wykonywania się konkretnego przerwania zewnętrznego<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=230">ps19</a> — 7 lip 2014, o 22:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RafPe]]></name></author>
<updated>2014-07-07T21:43:37+01:00</updated>
<published>2014-07-07T21:43:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7706&amp;p=86949#p86949</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7706&amp;p=86949#p86949"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne i timer]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7706&amp;p=86949#p86949"><![CDATA[
Hey ,<br /><br />Zobacz sobie ten watek (post kolegi Mokrowski) <a href="http://forum.atnel.pl/topic7655.html"  class="postlink">http://forum.atnel.pl/topic7655.html</a>. Moze akurat to Ci pomoze<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4344">RafPe</a> — 7 lip 2014, o 21:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2014-07-07T21:28:17+01:00</updated>
<published>2014-07-07T21:28:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7706&amp;p=86945#p86945</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7706&amp;p=86945#p86945"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne i timer]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7706&amp;p=86945#p86945"><![CDATA[
Jeśli dobrze zrozumiałem w czasie gdy wystąpi zewnętrzne przerwanie chcesz aby przerwanie timera zostało wstrzymane, tak? <br />A tak sobie myślę, że może funkcja <em>cli()</em> zablokowałaby działanie przerwania timera. A wewnątrz procedury obsługi przerwania zewnętrznego zerujesz ustawienia timera żeby liczył od początku.<br /><br />[syntax=c]ISR(TIMER0_COMPA_vect)<br />{<br />        czujnik_timer++;<br />        x = led_timer;<br />        if(x) led_timer = --x;<br />}<br />ISR(PCINT0_vect)<br />{<br />        cli();<br />        TCNT0 = 0;<br />        if(CZUJNIK1)<br />        {<br />                PWM(max,max);<br />        }<br />        else if(CZUJNIK2)<br />        {<br />                 PWM(max-50,max-50);<br />        }<br />        sei();[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 7 lip 2014, o 21:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ps19]]></name></author>
<updated>2014-07-07T20:34:39+01:00</updated>
<published>2014-07-07T20:34:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7706&amp;p=86940#p86940</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7706&amp;p=86940#p86940"/>
<title type="html"><![CDATA[Przerwania zewnętrzne i timer]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7706&amp;p=86940#p86940"><![CDATA[
1. Czy jest możliwość wyłączenia timera (który &quot;wyzwala&quot; inne przerwanie) na czas trwania przerwania zewnętrznego tak aby po zakończeniu procedury w przerwaniu zewnętrznym zaczął liczyć od nowa.<br /><br />Zrobiłem to w ten sposób, ale nie mam jak przetestować na &quot;żywym organizmie&quot;:<br /><br />[syntax=c]ISR(TIMER0_COMPA_vect)<br />{<br />czujnik_timer++;<br />x = led_timer;<br />if(x) led_timer = --x;<br />}<br />ISR(PCINT0_vect)<br />{<br />TCCR0B &amp;= ~( _BV(CS00) | _BV(CS01) | _BV(CS02) );<br />TCNT0 = 0;<br />if(CZUJNIK1)<br />{<br />PWM(max,max);<br />}<br />        else if(CZUJNIK2)<br />        {<br />                 PWM(max-50,max-50);<br />        }<br />TCCR0B |= _BV(CS02) | _BV(CS00);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=230">ps19</a> — 7 lip 2014, o 20:34</p><hr />
]]></content>
</entry>
</feed>