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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-05-16T19:47:00+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=11705&amp;mode</id>
<entry>
<author><name><![CDATA[NeverGiveUp]]></name></author>
<updated>2015-05-16T19:47:00+01:00</updated>
<published>2015-05-16T19:47:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129313#p129313</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129313#p129313"/>
<title type="html"><![CDATA[Re: Przerwania int0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129313#p129313"><![CDATA[
jeżeli ci chodzi o to <br />[syntax=c]if(!(PIND&amp;1&lt;&lt;PD2)){<br />                        zmienna=1;<br />                }<br />                else zmienna=0;[/syntax]<br /><br />to działa tak jak powinno czyli jak jest odsłonięta to jest 1 a jak zasłonięta to 0 i nie zmienia się podczas zasłaniania tak jak by były drgania styku w klawiszu<br /><br /><br />jeszcze zmieniłem z int0 na int1 i tak samo się robi<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8017">NeverGiveUp</a> — 16 maja 2015, o 19:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2015-05-16T17:23:16+01:00</updated>
<published>2015-05-16T17:23:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129305#p129305</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129305#p129305"/>
<title type="html"><![CDATA[Re: Przerwania int0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129305#p129305"><![CDATA[
Witam<br />Być może sam sposób przesłaniania szczeliny nie jest pewny; spróbuj może do warunku sprawdzenia dopisać &quot;_delay&quot; i powtórzyć sprawdzenie - tak jak potwierdza się sprawdzenie przycisku.<br />To tak dla testu - przynajmniej miałbyś pewność co do mechaniki przesłony.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 16 maja 2015, o 17:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NeverGiveUp]]></name></author>
<updated>2015-05-16T17:01:19+01:00</updated>
<published>2015-05-16T17:01:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129303#p129303</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129303#p129303"/>
<title type="html"><![CDATA[Re: Przerwania int0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129303#p129303"><![CDATA[
ta linijka kodu miała ustawiać bit ISC01 w rejestrze MCUCR w stan niski ale źle myślałem i poprawiłem tak jak poniżej i dalej jest to samo działa jak klawisz raz dodaje 1 raz 2 a niekiedy nawet 6 razy transoptor to LTH301A a przegrodę zasłaniam czarnym kawałkiem plastiku <br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;util/delay.h&gt;<br /> <br />#include &quot;lcd/HD44780.h&quot;<br />uint8_t zmienna;<br />volatile uint8_t licz;<br />int main(void)<br />{<br /> <br /> <br />DDRD &amp;= ~(1&lt;&lt;PORTD2);<br />MCUCR |= 1&lt;&lt;ISC01;<br />GICR |= 1&lt;&lt;INT0;<br />    sei();<br /> <br />LCD_Initalize();<br />while(1){<br /> <br /> <br />if(!(PIND&amp;1&lt;&lt;PD2)){<br />zmienna=1;<br />}<br />else zmienna=0;<br />LCD_GoTo(2,0);<br />LCD_WriteText(&quot;przerwania int0&quot;);<br />LCD_GoTo(5,1);<br />LCD_WriteInt(zmienna);<br /> <br />LCD_GoTo(15,1);<br />LCD_WriteInt(licz);<br /> <br /> <br /> <br /> <br /> <br />}<br />}<br />ISR(INT0_vect)<br />{<br /> <br />        licz++;<br /> <br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8017">NeverGiveUp</a> — 16 maja 2015, o 17:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NeverGiveUp]]></name></author>
<updated>2015-05-15T21:35:53+01:00</updated>
<published>2015-05-15T21:35:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129253#p129253</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129253#p129253"/>
<title type="html"><![CDATA[Re: Przerwania int0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129253#p129253"><![CDATA[
no wiem ze jest przejście z L / H no ale wg noty jak ja rozumiem powinno reagować na zbocze opadające czyli chyba jak spada z +5v do 0<br />[syntax=c]if(!(PIND&amp;1&lt;&lt;PD2)){<br />                        zmienna=1;<br />                }<br />                else zmienna=0;[/syntax]<br /><br />a w tym tylko zmieniać zmienna jak jest na pinie stan L powinna być =1 a jak jest stan H powinna byc =0<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8017">NeverGiveUp</a> — 15 maja 2015, o 21:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2015-05-15T20:05:49+01:00</updated>
<published>2015-05-15T20:05:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129245#p129245</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129245#p129245"/>
<title type="html"><![CDATA[Re: Przerwania int0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129245#p129245"><![CDATA[
Witam<br /><div class="quotetitle">NeverGiveUp napisał(a):</div><div class="quotecontent"><br />jak zasłonię szczelinę transoptora ...<br /></div><br />Ale zdajesz sobie sprawę, że zasłaniając szczelinę powodujesz przejście L / H a reakcję masz ustawioną ...no właśnie  raz na &quot;opadające&quot; a raz na &quot;zmianę&quot;.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 15 maja 2015, o 20:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NeverGiveUp]]></name></author>
<updated>2015-05-15T18:02:29+01:00</updated>
<published>2015-05-15T18:02:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129234#p129234</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129234#p129234"/>
<title type="html"><![CDATA[Re: Przerwania int0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129234#p129234"><![CDATA[
proszę kod poprawiony <br /><br />[syntax=c]#include &lt;avr/io.h&gt; <br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;util/delay.h&gt; <br /><br />#include &quot;lcd/HD44780.h&quot;<br />uint8_t zmienna;<br />volatile uint8_t licz;<br />int main(void)<br />{<br /><br /><br /><br />PORTD = 1&lt;&lt;PD2;<br /><br />    GICR = 1&lt;&lt;INT0;<br />    MCUCR = 1&lt;&lt;ISC01;<br />    MCUCR = 0&lt;&lt;ISC00;<br />    sei();<br /><br />LCD_Initalize();<br />while(1){<br /><br /><br />if(!(PIND&amp;1&lt;&lt;PD2)){<br />zmienna=1;<br />}<br />else zmienna=0;<br />LCD_GoTo(2,0);<br />LCD_WriteText(&quot;przerwania int0&quot;);<br />LCD_GoTo(5,1);<br />LCD_WriteInt(zmienna);<br /><br />LCD_GoTo(15,1);<br />LCD_WriteInt(licz);<br /><br /><br /><br /><br /><br />}<br />}<br />ISR(INT0_vect)<br />{<br /><br />        licz++;<br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8017">NeverGiveUp</a> — 15 maja 2015, o 18:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2015-05-15T17:57:15+01:00</updated>
<published>2015-05-15T17:57:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129233#p129233</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129233#p129233"/>
<title type="html"><![CDATA[Re: Przerwania int0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129233#p129233"><![CDATA[
Witam<br />Szczerze mówiąc piszę w trybie &quot;chyba&quot;, ale zamieszczając takie define:<br />[syntax=c]#define KEYPORT PORTD // DEFINICJA PORTU KLAWIATURY<br />#define KEYPIN  PIND  // DEFINICJA PINU KLAWIATURY<br />#define KEYDN   PD2   // DEFINICJA PORTU PRZYCISKU DOWN[/syntax]<br />po dosłowny podstawieniu dla:<br />[syntax=c]KEYPORT = 1&lt;&lt;KEYDN;[/syntax]<br />otrzymasz:<br />[syntax=c]PORTD // DEFINICJA PORTU KLAWIATURY = 1&lt;&lt;PD2   // DEFINICJA PORTU PRZYCISKU DOWN;[/syntax]<br />...a to wygląda jak koszmarek- tzn. ja nie spotkałem się z takim zapisem, a być może można wpisywać komentarze w &quot;#define&quot;.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 15 maja 2015, o 17:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NeverGiveUp]]></name></author>
<updated>2015-05-15T17:39:56+01:00</updated>
<published>2015-05-15T17:39:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129232#p129232</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129232#p129232"/>
<title type="html"><![CDATA[Przerwania int0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11705&amp;p=129232#p129232"><![CDATA[
Witam mam taki problem z przerwaniami int0 chciałem podłączyć transoptor szczelinowy pod wejście int0 atmegi16 i zliczać impulsy tylko jest taki problem ze jak zasłonię szczelinę transoptora to zamiast mi dodać 1 impuls to dodaje mi albo 2 albo 10 jak padnie w czym może być problem poniżej zamieszczam kod i schemat atmega16 - Przerwania int0 <br /><br /><br /><a href="http://forum.atnel.pl/_obrazki/o/8017/1d1b13bd90bbb7e019fcebc500df5309.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/8017/1d1b13bd90bbb7e019fcebc500df5309.png" alt="Obrazek" /></a><br /><br />[syntax=c]#include &lt;avr/io.h&gt; // biblioteka portów i/o<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;util/delay.h&gt; // biblioteka opuznien programowych<br /> <br />#include &quot;lcd/HD44780.h&quot; // biblioteka obslugi LCD<br />#define KEYPORT PORTD // DEFINICJA PORTU KLAWIATURY<br />#define KEYPINPIND  // DEFINICJA PINU KLAWIATURY<br />#define KEYDNPD2   // DEFINICJA PORTU PRZYCISKU DOWN<br />uint8_t zmienna;<br />volatile uint8_t licz;<br />int main(void)<br />{<br /> <br /> <br />GICR = 1&lt;&lt;INT0;<br />    MCUCR = 0&lt;&lt;ISC01;<br />    MCUCR = 1&lt;&lt;ISC00;<br />    sei();<br /> <br />KEYPORT = 1&lt;&lt;KEYDN;<br />LCD_Initalize();<br />while(1){<br /> <br />if (!(KEYPIN&amp;1&lt;&lt;KEYDN)) // JEZELI KLAWISZ WCISNIETY<br />{<br />zmienna=1;<br />}<br />else zmienna=0;<br /> <br />LCD_GoTo(2,0);<br />LCD_WriteText(&quot;przerwania int0&quot;);<br />LCD_GoTo(5,1);<br />LCD_WriteInt(zmienna);<br /> <br />LCD_GoTo(15,1);<br />LCD_WriteInt(licz);<br /> <br /> <br /> <br /> <br /> <br />}<br />}<br />ISR(INT0_vect)<br />{<br /> <br />   licz++;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8017">NeverGiveUp</a> — 15 maja 2015, o 17:39</p><hr />
]]></content>
</entry>
</feed>