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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-11-15T21:50:17+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=9265&amp;mode</id>
<entry>
<author><name><![CDATA[Intre]]></name></author>
<updated>2014-11-15T21:50:17+01:00</updated>
<published>2014-11-15T21:50:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9265&amp;p=104164#p104164</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9265&amp;p=104164#p104164"/>
<title type="html"><![CDATA[Re: Informacja o braku przerwania na INT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9265&amp;p=104164#p104164"><![CDATA[
Krauser rewelacja dziękuje <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> działa super <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> proste i funkcjonalne oto mi własnie chodziło. Temat do zamknięcia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1356">Intre</a> — 15 lis 2014, o 21:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2014-11-15T19:28:42+01:00</updated>
<published>2014-11-15T19:28:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9265&amp;p=104144#p104144</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9265&amp;p=104144#p104144"/>
<title type="html"><![CDATA[Re: Informacja o braku przerwania na INT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9265&amp;p=104144#p104144"><![CDATA[
Dodaj timer0, który sobie zlicza do maksimum lub wartości w OCR0, ale nim to nastąpi to funkcja obsługi przerwania INT1 wyzeruje mu licznik w normalnym przypadku. Jak impulsy przestaną dochodzić to timer wygeneruje przerwanie od przepełnienia lub zrównania i tam możesz zapalić LED.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 15 lis 2014, o 19:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2014-11-15T19:26:00+01:00</updated>
<published>2014-11-15T19:26:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9265&amp;p=104141#p104141</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9265&amp;p=104141#p104141"/>
<title type="html"><![CDATA[Re: Informacja o braku przerwania na INT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9265&amp;p=104141#p104141"><![CDATA[
Chyba powinieneś zastosować coś w rodzaju watchdoga<br />Może na innym timerze?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 15 lis 2014, o 19:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Intre]]></name></author>
<updated>2014-11-15T19:10:36+01:00</updated>
<published>2014-11-15T19:10:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9265&amp;p=104136#p104136</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9265&amp;p=104136#p104136"/>
<title type="html"><![CDATA[Informacja o braku przerwania na INT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9265&amp;p=104136#p104136"><![CDATA[
Mam sobie ustawione przerwanie zewnętrzne od czujnika na INT1 wyzwalane zboczem narastającym, wszystko elegancko się wykonuje ikramentując mi zmienią, której to wartość sobie procesor odpowiednio zlicza, a następnie prezentuje to wyświetlaczu. <br /><br />Chciałbym jednak np. uzyskać informacje kiedy czujnik przestaje &quot;nadawać&quot; przez co przerwanie się nie wykonuje i wówczas miała by się np. zapalić dioda, czy wyświetlić napis itp. Wiadomo wspomniany licznik przestanie liczyć i się zatrzyma jednak bym chciał mieć dodatkową informacje. Nie mam po prostu pomysłu jak to w kodzie opisać, jakie warunki zrobić w związku z czym zwracam się do was z prośbą o radę.     <br /><br />Używam procesora Atmega 644. Załączam fragment programu dotyczący ustawienia przerwania.<br /><br />[syntax=c]EIMSK |= (1&lt;&lt;INT1);   // zezwolenie na przerwanie INT1<br />EICRA |= (1&lt;&lt;ISC11)|(1&lt;&lt;ISC10); // INT1 - wyzwalane zboczem narastającym<br /><br /><br />ISR(INT1_vect)<br />{<br />pulses++;<br />        if (pulses &gt; 500) {<br />    pulses=0;<br />    a++;<br />     }<br />}[/syntax]<br /><br />Robiłem już różne swoje pomysły, powołując dodatkowe zmienne typu flaga zwiększając je w przerwaniu a resetując w pętli głównej itp. lecz coś mi nie wychodzi. Wiem że jest też coś takiego jak sprzętowa flaga &quot;EIFR –External Interrupt Flag Register&quot;  ale w sumie nie wiem czy to może służyć do tego celu, a jak tak to jak z niej skorzystać w programie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1356">Intre</a> — 15 lis 2014, o 19:10</p><hr />
]]></content>
</entry>
</feed>