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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-10-20T19:06:45+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=4532&amp;mode</id>
<entry>
<author><name><![CDATA[eriksson]]></name></author>
<updated>2013-10-20T19:06:45+01:00</updated>
<published>2013-10-20T19:06:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53779#p53779</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53779#p53779"/>
<title type="html"><![CDATA[Re: Zmiana stanu i wyświetlenie napisu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53779#p53779"><![CDATA[
Ok. to nic. wyłączamy sprzęt i czytamy...<img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1067">eriksson</a> — 20 paź 2013, o 19:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-20T19:01:17+01:00</updated>
<published>2013-10-20T19:01:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53775#p53775</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53775#p53775"/>
<title type="html"><![CDATA[Re: Zmiana stanu i wyświetlenie napisu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53775#p53775"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />A teraz tak, jak np będę tak chciał zrobić dla 4 diod włącz/wyłącz z innymi napisami to kod będzie wtedy 4 razy dłuższy?<br /></div><br /><br />Mógłby być nawet 4x krótszy ale na to - to ty nie patrz na początku tej drogi <br /><br />powiedz mi lepiej czy robisz po kolei ćwiczenia z Bluebooka ?<br /><br />czy czytasz razem z nimi teorię C ? z pierwszej części książki ? ---- bo bez zrozumienia tego - daleko nie zajedziesz patrząc tylko na takie przykłady - wszystko będzie dla ciebie wtedy &quot;MAGIC&quot; ...<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br /><div class="quotetitle">eriksson napisał(a):</div><div class="quotecontent"><br />Chciałbym żeby po wyświetleniu tego napisu po 5 sekundach się wyczyścił.<br /></div><br /><br />wiesz co ? zostaw to na razie - i czytaj dalej książkę - bo dopiero dalej poznasz coś takiego jak timery programowe i fajniejsze sposoby obsługi klawiszy pozwalające na różne takie rzeczy<br /><br />nie zatrzymuj się w jednym miejscu a szczególnie w tym .... bo to tylko MEGA UPROSZCZONY sposób obsługi klawiszy - wręcz taki dydaktyczny na pierwszy rzut ....<br /><br />po drodze możesz skorzystać jeszcze z tego co na moim blogu - zobacz:<br /><br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-drgania-stykow-cd2.html" >http://mirekk36.blogspot.com/2012/10/ob ... w-cd2.html</a><!-- m --><br /><br />czytaj i oglądaj częściej artykuły z tego bloga<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 paź 2013, o 19:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eriksson]]></name></author>
<updated>2013-10-20T18:39:56+01:00</updated>
<published>2013-10-20T18:39:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53769#p53769</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53769#p53769"/>
<title type="html"><![CDATA[Re: Zmiana stanu i wyświetlenie napisu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53769#p53769"><![CDATA[
Z tymi flagami to &quot;MEDŻIK&quot;  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> do tego musiałbym dodać czasowe wyświetlanie komunikatu:)<br /><br />A teraz tak, jak np będę tak chciał zrobić dla 4 diod włącz/wyłącz z innymi napisami to kod będzie wtedy 4 razy dłuższy?<br /><br />Bardzo dziękuję za pomoc. Jestem zielony na razie i ciężko to idzie.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 19 minutach ]</span></strong><br /><br />Jeszcze takie pytanko:) mianowicie o te czyszczenie LCD. (W przyszłości ma się pokazać napis na 5 sekund i wrócić do tła na którym jest godzina i data) <br /><br />Chciałbym żeby po wyświetleniu tego napisu po 5 sekundach się wyczyścił.<br /><br />[syntax=c]if (flaga) {<br />                            lcd_locate(0, 0);<br />                            lcd_str(&quot;light ON        &quot;);<br />                            LED1_ON;<br />                            _delay_ms(1000);<br />                            lcd_locate(0, 0);<br />                            lcd_str(&quot;                &quot;);[/syntax]<br /><br /><br />Dobrze myślę czy nie bardzo? bo [syntax=c]lcd_cls();[/syntax] nie wiem jak użyć.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1067">eriksson</a> — 20 paź 2013, o 18:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-20T18:17:28+01:00</updated>
<published>2013-10-20T18:17:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53765#p53765</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53765#p53765"/>
<title type="html"><![CDATA[Re: Zmiana stanu i wyświetlenie napisu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53765#p53765"><![CDATA[
<div class="quotetitle">sz4t4n napisał(a):</div><div class="quotecontent"><br />Racja, można prościej i ładniej tak jak pokazałeś. Jakoś jeszcze nie potrafię tak od &quot;strzału&quot; pisać w miarę elegancko. Jeszcze przyjdzie na to czas <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br /><br />Ale dlatego jak już ktoś pokazuje swoje kody to myślę, że warto z kolei podpowiadać jak można czasem inaczej ... dzięki temu powoli się to utrwali <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ....<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br />A samą IDEĘ przedstawiłeś właśnie dobrze autorowi wątku.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 paź 2013, o 18:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sz4t4n]]></name></author>
<updated>2013-10-20T18:16:13+01:00</updated>
<published>2013-10-20T18:16:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53763#p53763</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53763#p53763"/>
<title type="html"><![CDATA[Re: Zmiana stanu i wyświetlenie napisu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53763#p53763"><![CDATA[
Racja, można prościej i ładniej tak jak pokazałeś. Jakoś jeszcze nie potrafię tak od &quot;strzału&quot; pisać w miarę elegancko. Jeszcze przyjdzie na to czas <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=377">sz4t4n</a> — 20 paź 2013, o 18:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-20T18:03:53+01:00</updated>
<published>2013-10-20T18:03:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53758#p53758</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53758#p53758"/>
<title type="html"><![CDATA[Re: Zmiana stanu i wyświetlenie napisu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53758#p53758"><![CDATA[
sz4t4n --&gt; tylko zauważ że  tej sytuacji ZAWSZE i to niepotrzebnie w pętli głównej będzie wciąż wyświetlane albo light on albo light of a po co ? skoro może się przełączać tylko raz po wciśnięciu klawisza ?<br /><br />zobacz np tak:<br /><br />[syntax=c]while (1)<br /> <br />        {<br /> <br /> <br />                if (!(PINC &amp; KLAWISZ1)) {<br />                        _delay_ms(80);<br /> <br />                        if (!(PINC &amp; KLAWISZ1)) {<br /> <br />                                flaga++;<br />                                if(flaga&gt;1) flaga = 0;<br /><br />                        if (flaga) {<br />                                lcd_locate(0, 0);<br />                                lcd_str(&quot;light ON        &quot;);<br />                                LED1_ON;<br />                         } else {<br />                                lcd_locate(0, 0);<br />                                lcd_str(&quot;light OFF       &quot;);<br />                                LED1_OFF;<br />                         }<br /><br /><br />                        }<br /> <br />                }<br />        }[/syntax]<br /><br />poza tym sama zmiana stanu flagi z zera na jeden i odwrotnie - hmmm a może tak to napisać ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />[syntax=c]flaga ^= 1;[/syntax]<br /><br />hmmm nie będzie prościej ? a przy okazji poćwiczymy sobie operatory bitowe itp <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />czyli ostatecznie po modyfikacjach:<br /><br />[syntax=c]while (1)  {<br /> <br />                if (!(PINC &amp; KLAWISZ1)) {<br />                        _delay_ms(80);<br />                         if (!(PINC &amp; KLAWISZ1)) {<br /><br />                                 flaga ^= 1; // zmiana stanu flagi na przeciwny ( 0--&gt;1 i 1--&gt;0) <br /><br />                                if (flaga) {<br />                                    lcd_locate(0, 0);<br />                                    lcd_str(&quot;light ON        &quot;);<br />                                    LED1_ON;<br />                                } else {<br />                                    lcd_locate(0, 0);<br />                                    lcd_str(&quot;light OFF       &quot;);<br />                                    LED1_OFF;<br />                                }<br />                         }<br />                 }<br />        }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 paź 2013, o 18:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sz4t4n]]></name></author>
<updated>2013-10-20T17:57:49+01:00</updated>
<published>2013-10-20T17:57:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53754#p53754</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53754#p53754"/>
<title type="html"><![CDATA[Re: Zmiana stanu i wyświetlenie napisu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53754#p53754"><![CDATA[
Cześć,<br /><br />poniżej lekko przerobiłem Twój kod, nie jest idealny ale powinien działać. Rzuć okiem może Cie to nakieruje w jakiś sposób<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;util/delay.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br /><br />#define LED1_DDR DDRB<br />#define LED1_PORT PORTB<br /><br />#define LED1_TOG LED1_PORT ^= LED1<br /><br />#define LED1_ON LED1_PORT &amp;= ~LED1<br />#define LED1_OFF LED1_PORT |= LED1<br /><br />#define LED1 (1&lt;&lt;PB5)<br />#define KLAWISZ1 (1&lt;&lt;PC0)<br /><br />uint8_t flaga = 0;<br /><br />int main(void)<br /><br />{<br />lcd_init();<br /><br />DDRA |= (1 &lt;&lt; PA7);<br />PORTA |= (1 &lt;&lt; PA7);<br /><br />DDRB |= LED1; // inicjalizacja klawiszy i LEDów<br />PORTB |= LED1;<br />DDRC &amp;= ~KLAWISZ1;<br />PORTC |= KLAWISZ1;<br /><br />while (1)<br /><br />{<br /><br />if (flaga) {<br />lcd_locate(0, 0);<br />lcd_str(&quot;light ON        &quot;);<br />LED1_ON;<br /><br />}<br /><br />else {<br />lcd_locate(0, 0);<br />lcd_str(&quot;light OFF       &quot;);<br />LED1_OFF;<br /><br />}<br /><br /><br />if (!(PINC &amp; KLAWISZ1)) {<br />_delay_ms(80);<br /><br />if (!(PINC &amp; KLAWISZ1)) {<br /><br />flaga++;<br />if(flaga&gt;1) flaga = 0;<br />}<br /><br />}<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=377">sz4t4n</a> — 20 paź 2013, o 17:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-20T17:39:36+01:00</updated>
<published>2013-10-20T17:39:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53741#p53741</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53741#p53741"/>
<title type="html"><![CDATA[Re: Zmiana stanu i wyświetlenie napisu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53741#p53741"><![CDATA[
a co to wg ciebie jest za warunek ?<br /><br />[syntax=c]if (LED1_ON)[/syntax]<br /><br />co to ma oznaczać ?<br /><br /><span style="color: #0040FF">LED1_ON</span> zostanie rozwinięte przez preprocesor do takiej postaci<br /><br />[syntax=c]LED1_PORT &amp;= ~LED1[/syntax]<br /><br />analizowałeś to ? nadaje się to na warunek ?<br /><br />Musisz sobie wprowadzić panie kochany jakąś zmienną, której wartość będziesz nadawał 0 albo 1 w zależności od naciśniętego klawisza i to tę wartość musisz wtedy badać w warunkach - czy jest = 1 czy jest = 0 .....<br /><br />a w reakcji na wciskanie danego klawisza zmieniać tę wartość<br /><br />tymczasem ty coś tak na chybił trafił wpisałeś do tego IF() <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />np:<br /><br />[syntax=c]uint8_t stan_przekaznika;[/syntax]<br /><br /><br />i później działasz na tej zmiennej. To taki przykład oczywiście<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 paź 2013, o 17:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eriksson]]></name></author>
<updated>2013-10-20T17:02:32+01:00</updated>
<published>2013-10-20T17:02:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53719#p53719</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53719#p53719"/>
<title type="html"><![CDATA[Re: Zmiana stanu i wyświetlenie napisu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53719#p53719"><![CDATA[
tak to mniej więcej na razie wygląda. Próbuję na diodzie.<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;util/delay.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br /><br />#define LED1_DDR DDRB<br />#define LED1_PORT PORTB<br /><br />#define LED1_TOG LED1_PORT ^= LED1<br /><br />#define LED1_ON LED1_PORT &amp;= ~LED1<br />#define LED1_OFF LED1_PORT |= LED1<br /><br />#define LED1 (1&lt;&lt;PB5)<br />#define KLAWISZ1 (1&lt;&lt;PC0)<br /><br /><br />int main(void)<br /><br />{<br />lcd_init();<br /><br />DDRB |= LED1 ;// inicjalizacja klawiszy i LEDów<br />PORTB |= LED1 ;<br />DDRC &amp;= ~KLAWISZ1 ;<br />PORTC |= KLAWISZ1 ;<br /><br />while(1)<br /><br />{<br /><br />    if(!(PINC &amp; KLAWISZ1))<br />    {<br />    <br />    lcd_locate(0,0);<br />    if (LED1_ON) lcd_str (&quot;light ON        &quot;);<br />    if (LED1_OFF) lcd_str (&quot;light OFF       &quot;);<br /><br />while(!(PINC &amp; KLAWISZ1))<br />    {<br />    _delay_ms(15);<br />    }<br />    }<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1067">eriksson</a> — 20 paź 2013, o 17:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-20T16:56:04+01:00</updated>
<published>2013-10-20T16:56:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53713#p53713</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53713#p53713"/>
<title type="html"><![CDATA[Re: Zmiana stanu i wyświetlenie napisu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53713#p53713"><![CDATA[
No to może pokaż co do tej pory sam próbowałeś napisać ?<br /><br />bo przecież gotowe przykłady - podstawowe to masz w książce ... ale rozumiem że teraz sam robisz pierwsze ćwiczenia i super ... ale pokaż to będzie łatwiej coś podpowiedzieć<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 paź 2013, o 16:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eriksson]]></name></author>
<updated>2013-10-20T16:12:21+01:00</updated>
<published>2013-10-20T16:12:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53693#p53693</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53693#p53693"/>
<title type="html"><![CDATA[Zmiana stanu i wyświetlenie napisu.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4532&amp;p=53693#p53693"><![CDATA[
Witam. Mam taki problem i nie potrafię go wogóle przeskoczyć. Mianowicie chcę jak nacisnę KLAWISZ to ustawiony PIN uruchomi przekaźnik i pojawi się napis ON na LCD, jak kliknę drugi raz to PIN to wyłączy przekaźnik i ekran się wyczyści i pokaże OFF...<br /><br />Proszę o przykład takiego zastosowania bo muszę to zrozumieć a odpowiedz typu zrób to najlepiej w taki i taki sposób nie bardzo mi pomoże.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1067">eriksson</a> — 20 paź 2013, o 16:12</p><hr />
]]></content>
</entry>
</feed>