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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-06-24T13:21:57+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=12099&amp;mode</id>
<entry>
<author><name><![CDATA[PJasinski91]]></name></author>
<updated>2015-06-24T13:21:57+01:00</updated>
<published>2015-06-24T13:21:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132729#p132729</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132729#p132729"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne INT0 i INT1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132729#p132729"><![CDATA[
Ok. Problem rozwiązany program działa. Dziękuję za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8607">PJasinski91</a> — 24 cze 2015, o 13:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2015-06-24T08:12:23+01:00</updated>
<published>2015-06-24T08:12:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132709#p132709</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132709#p132709"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne INT0 i INT1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132709#p132709"><![CDATA[
Takie same co do resetu czyli 10kR spokojnie wystarczy.<br /><br />Namazane ze smarta.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 24 cze 2015, o 08:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2015-06-23T21:02:59+01:00</updated>
<published>2015-06-23T21:02:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132680#p132680</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132680#p132680"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne INT0 i INT1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132680#p132680"><![CDATA[
Wystarczy programowo przez wpisanie jedynki<br />na pin portu który jest ustawiony jako wejście<br />np. cały port D<br /><br />[syntax=c]DDRD=0; <br />POTRD= 0xFF;[/syntax]<br /><br />Wszystkie piny portu D są wejściami podciągniętymi <br />wewnętrznymi rezystorami do VCC<br /><br />Edit:<br /><br />Jeśli uC pracuje w bardzo zakłóconym środowisku to może <br />okazać się lepsze zewnętrzne podciągnięcie rezystorem do VCC .<br /><br />Co do wartości tego rezystora to już musiałby się wypowiedzieć ktoś<br />bardziej doświadczony , ja jeszcze nie stosowałem takiego rozwiązania.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1044">Zaba</a> — 23 cze 2015, o 21:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PJasinski91]]></name></author>
<updated>2015-06-23T20:41:01+01:00</updated>
<published>2015-06-23T20:41:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132674#p132674</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132674#p132674"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne INT0 i INT1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132674#p132674"><![CDATA[
Zamierzone działanie. Przerwanie ma się wykonać tylko raz.<br />A co z tym podciągnięciem do VCC?<br />Programowo czy zewnętrznym rezysotorem (jakim?)?<br />A może i tak i tak?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8607">PJasinski91</a> — 23 cze 2015, o 20:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2015-06-23T16:45:16+01:00</updated>
<published>2015-06-23T16:45:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132635#p132635</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132635#p132635"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne INT0 i INT1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132635#p132635"><![CDATA[
Zauważ że przerwanie wykona Ci się tylko raz<br />ponieważ po wejściu w przerwanie zaraz je wyłączasz,<br />chyba że to zamierzone działanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1044">Zaba</a> — 23 cze 2015, o 16:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PJasinski91]]></name></author>
<updated>2015-06-23T16:31:41+01:00</updated>
<published>2015-06-23T16:31:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132630#p132630</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132630#p132630"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne INT0 i INT1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132630#p132630"><![CDATA[
No nie mam. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Znalazłem u Pana na blogu takie coś:<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Dlatego też wiele osób się zastanawia dlaczego np, jeśli ustawią dany pin jako WEJŚCIE ale nie podciągną go programowo do VCC oraz nie podciągną go do VCC za pomocą zewnętrznego rezystora i na wejściu podłączą przycisk - to mikrokontroler jakby zaczyna żyć własnym życiem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... raz sam widzi że przycisk jest wciśnięty pomimo że faktycznie tak nie jest a innym razem że nie jest wciśnięty. A to dlatego, że napięcie na wejściu &quot;pływa&quot; tzn. zmienia się swobodnie pomiędzy wartością GND a VCC.<br /></div><br />I nie bardzo rozumiem czy podciągnąć do VCC powinienem programowo?<br />[syntax=c]PORTD |= (1&lt;&lt;PD2)|(1&lt;&lt;PD3);[/syntax]<br />Czy przez zewnętrzny rezystor? (jaki?)<br />Z góry dziękuję Panie Mirku za odpowiedź.<br />Pozdrawiam<br /> <br />PS. Czy poza brakiem podciągnięcia do VCC kod wydaje się być poprawny i logiczny?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8607">PJasinski91</a> — 23 cze 2015, o 16:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-06-23T14:17:58+01:00</updated>
<published>2015-06-23T14:17:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132609#p132609</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132609#p132609"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne INT0 i INT1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132609#p132609"><![CDATA[
A masz pan podciągnięte wejścia do VCC ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 cze 2015, o 14:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PJasinski91]]></name></author>
<updated>2015-06-23T12:22:20+01:00</updated>
<published>2015-06-23T12:22:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132595#p132595</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132595#p132595"/>
<title type="html"><![CDATA[Przerwania zewnętrzne INT0 i INT1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12099&amp;p=132595#p132595"><![CDATA[
Witam,<br />Chciałem stworzyć program, w którym pierwsze zbocze narastające na INT0 będzie generowało stan wysoki na pinie PB1 a pierwsze zbocze narastające na INT1 będzie ten stan zmieniać na niski.<br />Program wygląda następująco:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br /><br />//Obsługa przerwania INT0<br />ISR(INT0_vect){<br />//Wyłączanie przerwania INT0<br />GICR &amp;= ~(1&lt;&lt;INT0);<br />//Ustawnienie stanu wysokiego na PB1<br />PORTB |= (1&lt;&lt;PB1);<br />}<br /><br />//Obsługa przerwania INT1<br />ISR(INT1_vect){<br />//Wyłączanie przerwania INT1<br />GICR &amp;= ~(1&lt;&lt;INT1);<br />//Ustawnienie stanu niskiego na PB1<br />PORTB &amp;= ~(1&lt;&lt;PB1);<br />}<br /><br /><br />int main(void){<br />//Ustawienie PB0 i PB1 jako wyjścia<br />DDRB |= (1&lt;&lt;PB1)|(1&lt;&lt;PB0);<br />//Generowanie przerwania INT0 i INT1 zboczem narastajacym<br />MCUCR |= (1&lt;&lt;ISC11)|(1&lt;&lt;ISC10)|(1&lt;&lt;ISC01)|(1&lt;&lt;ISC00);<br />//Właczenie przerwania INT0 i INT1<br />GICR |= (1&lt;&lt;INT0)|(1&lt;&lt;INT1);<br />//Globalne uruchomienie przerwań<br />sei();<br /><br /><br />while(1){<br /><br />PORTB ^= (1&lt;&lt;PB0);<br />_delay_ms( 100 );<br /><br />}<br /><br />}[/syntax]<br />Czy kod ten jest poprawny? <br />Bo nijak nie chce działać. Stan wysoki na PB1 pokazuje się kiedy chce - np przy dotknięciu paluchem mikrokontrolera, tylko nie wtedy kiedy powinien. Po przejściu PB1 w stan wysoki w stan niski już nie przechodzi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8607">PJasinski91</a> — 23 cze 2015, o 12:22</p><hr />
]]></content>
</entry>
</feed>