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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-03-13T22:43:44+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=11043&amp;mode</id>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2015-03-13T22:43:44+01:00</updated>
<published>2015-03-13T22:43:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11043&amp;p=123418#p123418</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11043&amp;p=123418#p123418"/>
<title type="html"><![CDATA[Re: Zabawa diodami, a właściwie światłem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11043&amp;p=123418#p123418"><![CDATA[
Witam.<br /><br />A może coś takiego.<br />Na początek trzeba by przerobić funkcję do obsługi klawiszy tak aby reakcja na krótkie wciśnięcie następowała po zwolnieniu przycisku. Bo teraz reakcja na krótkie wciśnięcie następuje po wciśnięciu przycisku i nawet po dłuższym przytrzymaniu przycisku i tak wywoła się funkcja krótkiego wciśnięcia. Funkcje można by zmodyfikować tak jak to zrobiłem w tym temacie <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic4541.html#p56592" >topic4541.html#p56592</a><!-- l --><br />Można też do tego użyć funkcji SuperDebounce z BB, która działa właśnie w ten sposób.<br /><br />I teraz tak.<br />Cztery funkcje włączające/wyłączające daną diodę po krótkim wciśnięciu danego przycisku.<br />Jedna funkcja włączająca/wyłączająca wszystkie diody. W funkcji trzeba by sprawdzić czy jakakolwiek dioda się świeci. Jeśli tak to gasimy wszystkie, a jeśli żadna się nie świeci to włączamy wszystkie. I teraz niech ta funkcja będzie wywoływana po dłuższym wciśnięciu któregokolwiek przycisku. Bo przecież jedną funkcję można wywołać za pomocą więcej niż jednego przycisku.<br /><br />I tym sposobem krótkie wciśnięcie danego przycisku włącza/wyłącza diodę przypisaną do tego przycisku a dłuższe wciśnięcie któregokolwiek włącza/wyłącza wszystkie diody.<br /><br />Mam nadzieję, że dość jasno to opisałem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 13 mar 2015, o 22:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Grzegorz...]]></name></author>
<updated>2015-03-13T22:21:32+01:00</updated>
<published>2015-03-13T22:21:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11043&amp;p=123417#p123417</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11043&amp;p=123417#p123417"/>
<title type="html"><![CDATA[Re: Zabawa diodami, a właściwie światłem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11043&amp;p=123417#p123417"><![CDATA[
Nie nie to też nie działa, ale spoko na 100% rano ze świeżym umysłem sobie poradzę.<br />Stosowałem dokładnie to samo co podałeś tyle, że z przesunięciami &lt;&lt;.<br />Ładnie gasną, ale się nie zapalają - ale do jutra <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />.<br /><br />-- <br />Pozdrawiam.<br />Grzegorz...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1748">Grzegorz...</a> — 13 mar 2015, o 22:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[j23]]></name></author>
<updated>2015-03-13T21:55:16+01:00</updated>
<published>2015-03-13T21:55:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11043&amp;p=123414#p123414</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11043&amp;p=123414#p123414"/>
<title type="html"><![CDATA[Re: Zabawa diodami, a właściwie światłem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11043&amp;p=123414#p123414"><![CDATA[
<div class="quotetitle">Grzegorz... napisał(a):</div><div class="quotecontent"><br />(...)jeśli świeci się jakakolwiek dioda to gasimy wszystkie, a jeśli wszystkie są zgaszone to wszystkie zapalamy.(...)<br /></div>Cześć Grzegorz!<br />Chodzi Ci może o coś takiego?:<br /><br />[syntax=c]void change_led2(void)<br />{<br />// gdy jedna dioda się pali<br />if ( (PORTC&amp;=~(LED2)) == true)<br />   {<br />   PORTC=0xFF; // wszystkie diody gasną<br />   }<br /><br />// gdy wszystkie diody są zgaszone<br />if (PORTC==0xFF)<br />   {<br />   PORTC==0x00; // wszystkie diody zapalamy<br />   }[/syntax]<br /><br />albo tak...<br />[syntax=c]void change_led2(void)<br />{<br />// gdy chociaż jedna dioda się pali - nieważne jaka<br />if ( (PORTC!=0xFF) &amp;&amp; (PORTC!=0x00) ) == true)<br />   {<br />   PORTC=0xFF; // wszystkie diody gasną<br />   }<br /><br />// gdy wszystkie diody są zgaszone<br />if (PORTC==0xFF)<br />   {<br />   PORTC==0x00; // wszystkie diody zapalamy<br />   }[/syntax]<br /><br /><strong><span style="color: #008000"><span style="text-decoration: underline">albo jeszcze szybciej...</span></span></strong><br />[syntax=c]void change_led2(void)<br />{  <br />// gdy wszystkie diody są zgaszone<br />if (PORTC==0xFF)<br />   {<br />   PORTC==0x00; // wszystkie diody zapalamy<br />   }<br />   else<br />        {<br />        PORTC=0x00; // wszystkie diody gasną<br />        }[/syntax]<br /><br />Pozdrawiam! j23 Jarek<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4504">j23</a> — 13 mar 2015, o 21:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Grzegorz...]]></name></author>
<updated>2015-03-13T19:33:39+01:00</updated>
<published>2015-03-13T19:33:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11043&amp;p=123389#p123389</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11043&amp;p=123389#p123389"/>
<title type="html"><![CDATA[Zabawa diodami, a właściwie światłem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11043&amp;p=123389#p123389"><![CDATA[
Hejka.<br />Mam dziś totalne zaćmienie chyba.<br />Zrobiłem sporo bardziej zaawansowanych projektów w C na AVR, ale były one oparte raczej na programowaniu bardziej liniowym (co prawda raczej bez delay-ów), ale się zaciąłem.<br />Mam dość długo zbudowany układ do protego sterowania światłem włącz/wyłącz, ale z wielu punktów, więc prościej było to zrobić sterownikiem niż łącznikami krzyżowymi.<br />Teraz stwierdziłem, że dodam &quot;ficzer&quot; i zająłem się Mirkowym kodem z tego odcinka bloga: <!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-zwoka-czasowa-cd3.html" >http://mirekk36.blogspot.com/2012/10/ob ... a-cd3.html</a><!-- m --> i przerobiłem go na 4 klawisze.<br />Testuję na ATB.<br />Dla krótkich kliknięć wszystko działa, ale jakoś się zaciąłem jak zrobić warunek aby funkcja:<br /><br />[syntax=c]void change_led2(void) {<br /> PORTC ^= LED2;<br />}[/syntax]<br /><br />nawet dla jednego klawisza powodowała taki efekt aby po przekroczeniu czasu zadanego w strukturze, że jeśli świeci się jakakolwiek dioda to gasimy wszystkie, a jeśli wszystkie są zgaszone to wszystkie zapalamy.<br /><br />Wiem, że to właściwie podstawy, ale nie mogę sobie przypomnieć, a jestem w delegacji (hehe ATB nie zajmuje w walizce zbyt wiele miejsca <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />) i chyba za dużo soku po kolacji było <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<br /><br />-- <br />Grzegorz...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1748">Grzegorz...</a> — 13 mar 2015, o 19:33</p><hr />
]]></content>
</entry>
</feed>