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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-03-04T21:42:43+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=2494&amp;mode</id>
<entry>
<author><name><![CDATA[Wrangler]]></name></author>
<updated>2013-03-04T21:42:43+01:00</updated>
<published>2013-03-04T21:42:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2494&amp;p=29838#p29838</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2494&amp;p=29838#p29838"/>
<title type="html"><![CDATA[Re: sterowanie diodami za pomocą jednego przycisku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2494&amp;p=29838#p29838"><![CDATA[
Proponowałbym wprowadzić sobie zmienną statyczną, która będzie pełniła funkcję licznika wciśnięć (inicjalizowana jest zerem i po każdym wciśnięciu jest kolejno inkrementowana). Do tego dołożyć instrukcję modulo i w ten sposób można sprawnie zrealizować Twoje zadanie - nieparzyste wciśnięcie powoduje konfiguracje diod nr 1, a parzyste wciśnięcie - konfigurację diod nr 2. Inne podejście, to maszynka stanów przedstawiona na blogu u Mirka.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=223">Wrangler</a> — 4 mar 2013, o 21:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sonix]]></name></author>
<updated>2013-03-04T21:18:09+01:00</updated>
<published>2013-03-04T21:18:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2494&amp;p=29832#p29832</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2494&amp;p=29832#p29832"/>
<title type="html"><![CDATA[Re: sterowanie diodami za pomocą jednego przycisku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2494&amp;p=29832#p29832"><![CDATA[
A może warto poczekać na puszczenie przycisku i dopiero później czytać jego ponownie wciśnięcie? (to tylko taka podpowiedź)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=127">Sonix</a> — 4 mar 2013, o 21:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomekpop]]></name></author>
<updated>2013-03-04T21:15:50+01:00</updated>
<published>2013-03-04T21:15:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2494&amp;p=29831#p29831</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2494&amp;p=29831#p29831"/>
<title type="html"><![CDATA[Re: sterowanie diodami za pomocą jednego przycisku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2494&amp;p=29831#p29831"><![CDATA[
Wejdź na blog Mirka, tam jest wszystko o obsłudze przycisków i &quot;drganiach styków&quot;<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />a dokładnie tu <a href="http://mirekk36.blogspot.com/2012/10/drgania-stykow-to-bajki-wiec-jak-to.html"  class="postlink">http://mirekk36.blogspot.com/2012/10/drgania-stykow-to-bajki-wiec-jak-to.html</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=237">tomekpop</a> — 4 mar 2013, o 21:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Parkiet]]></name></author>
<updated>2013-03-04T21:06:25+01:00</updated>
<published>2013-03-04T21:06:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2494&amp;p=29829#p29829</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2494&amp;p=29829#p29829"/>
<title type="html"><![CDATA[sterowanie diodami za pomocą jednego przycisku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2494&amp;p=29829#p29829"><![CDATA[
Na początku chciałem wszystkich powitać <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Dopiero poznaje język C, ucząc się go z niebieską książka wydawnictwa Atnel <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> , więc proszę o wyrozumiałość.<br />Obecnie &quot;bawię się&quot; z diodami i tu napotkałem na problem...chcę napisać program, w którym po naciśnięciu przycisku załączy się dioda 1 a po ponownym naciśnięciu zapali się dioda 2, a pierwsza zgaśnie itd. <br />Problem w tym, że jak przytrzymam klawisz to diody przełączają się - a tego nie chce. Dioda mają się &quot;przełączać&quot; tylko po ponownym naciśnięciu przycisku.<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />//diody<br />#define LED_PIN (1&lt;&lt;PC0)<br />#define LED1_PIN (1&lt;&lt;PC1)<br /><br />#define LED_ON PORTC &amp;= ~LED_PIN//zalaczenie diody 1<br />#define LED1_ON PORTC &amp;= ~LED1_PIN//zalaczenie diody 2<br />#define LED_OFF PORTC |= LED_PIN//wylaczenie diody 1<br />#define LED1_OFF PORTC |= LED1_PIN//wylaczenie diody 2<br /><br />//klawisz<br />#define KEY_PIN (1&lt;&lt;PC7)<br /><br /><br />uint8_t key_down(uint8_t key);<br /><br />int main(void)<br />{<br />DDRC |= LED_PIN;//kierunek wyjsciowy<br />PORTC = LED_PIN;//wylaczenie diody LED<br />DDRC |= LED1_PIN;//kierunek wyjsciowy<br />PORTC = LED1_PIN;//wylaczenie diody LED<br /><br />DDRC &amp;= ~( KEY_PIN );//kierunek wejsciowy<br />PORTC |= KEY_PIN;//podciagniecie do VCC<br /><br />while(1)<br />{<br />if( key_down( KEY_PIN ) )<br /><br />if(PORTC &amp;= ~LED_PIN)<br />{<br /><br />LED_OFF;<br />LED1_ON;<br /><br />}<br /> if ( key_down( KEY_PIN ) )<br /><br />if(PORTC &amp;= ~LED1_PIN)<br />{<br /><br />LED_ON;<br />LED1_OFF;<br /><br />}<br />}<br />}<br /><br /><br />uint8_t key_down(uint8_t key)<br />{<br />if( !( PINC &amp; key) )<br />{<br />_delay_ms(80);<br /><br />if( ! (PINC &amp; key) ) return 1;<br />}<br /><br />return 0;<br /><br />}<br />[/syntax]<br /><br />Pewnie jest to jakaś prosta definicja, ale zanim się tego nie dowiem nie chcę wykonywać dalszych ćwiczeń.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1019">Parkiet</a> — 4 mar 2013, o 21:06</p><hr />
]]></content>
</entry>
</feed>