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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-12-16T11:27:18+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=9715&amp;mode</id>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2014-12-16T11:27:18+01:00</updated>
<published>2014-12-16T11:27:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9715&amp;p=109040#p109040</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9715&amp;p=109040#p109040"/>
<title type="html"><![CDATA[Re: Atemga8 Problem z instrukcją przerwania zewnętrznego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9715&amp;p=109040#p109040"><![CDATA[
Witam<br /><div class="quotetitle">squeez napisał(a):</div><div class="quotecontent"><br />Po pierwsze: <br />[syntax=c]PROGRAM_STOP PORTD &amp;=~((1&lt;&lt;PD5)|(1&lt;&lt;PD4)|(1&lt;&lt;PD1);[/syntax]<br /> jeden nawias za dużo na początku.<br /></div><br />...raczej chyba jeden za mało z tyłu  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> - kol.<strong>rodziak27</strong> szerokim łukiem ominął warninga, bo na pewno takiego miał.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 16 gru 2014, o 11:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rodziak27]]></name></author>
<updated>2014-12-16T10:50:03+01:00</updated>
<published>2014-12-16T10:50:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9715&amp;p=109032#p109032</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9715&amp;p=109032#p109032"/>
<title type="html"><![CDATA[Re: Atemga8 Problem z instrukcją przerwania zewnętrznego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9715&amp;p=109032#p109032"><![CDATA[
Dzięki za odpowiedz. Generalnie chodzi mi o zatrzymanie a później wznowienie działania programu. Coś w stylu wyłącznik bezpieczeństwa. <br />Macie może jakiś inny pomysł na to ????<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6458">rodziak27</a> — 16 gru 2014, o 10:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rodziak27]]></name></author>
<updated>2014-12-16T09:10:57+01:00</updated>
<published>2014-12-16T09:10:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9715&amp;p=109023#p109023</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9715&amp;p=109023#p109023"/>
<title type="html"><![CDATA[Atemga8 Problem z instrukcją przerwania zewnętrznego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9715&amp;p=109023#p109023"><![CDATA[
Witam,<br />mam problem z napisaniem odpowiedniej obsługi przerwania tak aby program po jej wykonaniu wrócił do miejsca w którym przerwał.<br /><br />Ale od początku. Mam program który steruje kierunkiem obrotów silniczka, dodatkowo zapala się dioda, na końcu gaśnie. Jeśli o to chodzi to wszystko działa. Chciałbym teraz przełącznikiem dwu pozycyjnym 0/1 w dowolnej chwili wszystko wyłączyć a następnie tym samym przełącznikiem zmieniając jego położenie wszystko włączyć aby dalej działało. <br />I tu pojawia się problem. Samo przerwanie działa, jednak po zatrzymaniu programu nie mogę go ponownie uruchomić, w zalezności od zastosowanej procedury silnik rusza ale dioda juz sie nie zapala. <br />Kombinuje z różnymi procedurami, w tym kodzie mam procedurę zrobioną na do while, (desperacja) nie działa poprawnie. <br /><br />Robiłem jeszcze tak:<br /><br />while(1)<br />if(PIND &amp;~ (1&lt;&lt;PD2));<br />{<br />PROGRAM_STOP;<br />}<br /><br />tu program się zatrzymuje jednak przez pętle while(1) nie rusza dalej, bez pętli while(1) zatrzymuje się tylko na chwilę, silnik rusza dalej ale dioda juz nie.  <br />Proszę o pomoc <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br /><br /><br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />//.............Ustawienie wyjćs PWM, silniczka, diody .............//<br /><br />#define WE_A PD5<br />#define WE_B PD6<br />#define PWM_A PB1<br />#define PWM_B PB2<br />#define LED_ON PORTD |=(1&lt;&lt;PD1);<br />#define LED_OFF PORTD &amp;=~(1&lt;&lt;PD1);<br /><br />//.............Sterowanie silnika................ //<br /><br />#define LEWO PORTD &amp;=~(1&lt;&lt;WE_A); PORTD |=(1&lt;&lt;WE_B);<br />#define PRAWO PORTD |=(1&lt;&lt;WE_A); PORTD &amp;=~(1&lt;&lt;WE_B);<br />#define STOP PORTD &amp;=~(1&lt;&lt;WE_A); PORTD &amp;=~(1&lt;&lt;WE_B);<br />#define PROGRAM_STOP PORTD &amp;=~((1&lt;&lt;PD5)|(1&lt;&lt;PD4)|(1&lt;&lt;PD1);<br /><br />int main(void)<br />{<br />DDRD =0XFB;<br />DDRD &amp;=~(1&lt;&lt;PD2);<br />PORTD |=(1&lt;&lt;PORTD2);<br />DDRB |= (1&lt;&lt;PWM_A)|(1&lt;&lt;PWM_B);<br /><br />//............. Ustawienia PWM................. //<br /><br />TCCR1A |= (1&lt;&lt;WGM11);<br />TCCR1A |= (1&lt;&lt;COM1A1)|(1&lt;&lt;COM1B1);<br />TCCR1B |= (1&lt;&lt;CS10)|(1&lt;&lt;CS11);<br />ICR1 = 1000;<br /><br />//..............Przerwanie INT0 ...................//<br /><br />        DDRD &amp;=~(1&lt;&lt;PD2);      <br />        MCUCR |= (1&lt;&lt;ISC01);   <br />        GICR |= (1&lt;&lt;INT0);      <br />        PORTD |= (1&lt;&lt;PD2);     <br />        sei();<br /><br />//............Program glowny...........//<br /><br />LED_ON;<br /><br />PRAWO;<br />OCR1A = 200;<br />_delay_ms(2000);<br /><br />STOP;<br />_delay_ms(1000)<br /><br />LEWO;<br />OCR1A = 200;<br />_delay_ms(2000);<br /><br />LED_OFF;<br /><br />//.............Procedura przerwania...............//<br /><br />ISR(INT0_vect)<br />{<br />do<br />{<br />PROGRAM_STOP;<br />}<br />while (PIND &amp;~ (1&lt;&lt;PD2));<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6458">rodziak27</a> — 16 gru 2014, o 09:10</p><hr />
]]></content>
</entry>
</feed>