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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-11-18T23:29:26+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=4815&amp;mode</id>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-18T23:29:26+01:00</updated>
<published>2013-11-18T23:29:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57666#p57666</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57666#p57666"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57666#p57666"><![CDATA[
ale puki nie zrozumie tematu dlaczego tak jest to go męczę ... no taki już jestem ... i dalej nie wiem dlaczego bez drugiego  else przy 2gim if ... dziala na innych portach niz PORT A<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 18 lis 2013, o 23:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-18T22:24:32+01:00</updated>
<published>2013-11-18T22:24:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57649#p57649</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57649#p57649"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57649#p57649"><![CDATA[
<div class="quotetitle">krzysztof napisał(a):</div><div class="quotecontent"><br />takie podejście dotyczy nie tylko mikrokontrolerów ale elektroniki w ogóle, co nie zmienia faktu że człowiek zazwyczaj uczy się tego na własnych błedach <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /></div><br /><br />Dokładnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i tu widać też tak musi być - to czasem może i długotrwałe ale za to daje też efekty ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 lis 2013, o 22:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzysztoffx]]></name></author>
<updated>2013-11-18T21:52:22+01:00</updated>
<published>2013-11-18T21:52:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57640#p57640</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57640#p57640"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57640#p57640"><![CDATA[
takie podejście dotyczy nie tylko mikrokontrolerów ale elektroniki w ogóle, co nie zmienia faktu że człowiek zazwyczaj uczy się tego na własnych błedach <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1459">krzysztoffx</a> — 18 lis 2013, o 21:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Paul Dirac]]></name></author>
<updated>2013-11-18T21:40:49+01:00</updated>
<published>2013-11-18T21:40:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57638#p57638</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57638#p57638"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57638#p57638"><![CDATA[
jesteś w temacie język C, więc żeby all działało jak należy trzeba z niego korzystac zgodnie z założeniami. polecam czytać: <!-- m --><a class="postlink" href="http://www.nongnu.org/avr-libc/user-manual/index.html" >http://www.nongnu.org/avr-libc/user-manual/index.html</a><!-- m --><br />ja sobie analizuje codziennie fragmentami i sie sporo uczę. <br />Najwazniejsze to juz mirek napisał rozdrobnic kod i szukac błędu. W gruncie rzeczy mirek z tym podziałem na role, szukaniem baboli w najmniejszych programach i rozpisanie projektu na kartce przed przystapieniem do pracy ma 100% racji. Juz sie tyle razy naciąłem na tym, że dla własnego zdrowia tak robie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1035">Paul Dirac</a> — 18 lis 2013, o 21:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-18T20:52:41+01:00</updated>
<published>2013-11-18T20:52:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57624#p57624</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57624#p57624"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57624#p57624"><![CDATA[
Widze jeszcze ze przed drugiego if dales else ale dziwne jest to ze moj kod testowy bez tego else dziala na innym porcie niz port a.<br /><br />Mirku dlaczego mam zostawic porty w spokoju skoro na innym niz a dziala moj kod? Wiec szukam winy w portach ale ok. W moim kodzie dodane else przed drugiego if i dziala na port a ... hmm to az taka roznica dla tefo portu ?<br /><br />Wysłane z telefonu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 18 lis 2013, o 20:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Paul Dirac]]></name></author>
<updated>2013-11-18T20:47:28+01:00</updated>
<published>2013-11-18T20:47:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57622#p57622</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57622#p57622"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57622#p57622"><![CDATA[
U mnie stan wysoki gasi, stan niski zapala leda. Wrócisz do domu to porównasz. Mam nadzieje, że działa. A poprawki są naniesione.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1035">Paul Dirac</a> — 18 lis 2013, o 20:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-18T20:42:30+01:00</updated>
<published>2013-11-18T20:42:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57619#p57619</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57619#p57619"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57619#p57619"><![CDATA[
Paul ale czy moj kod rozni sie od twojego bo tego nie widze tylko to ze ja na led ustawiam stan niski a ty wysoki. A twoj kod dziala. Na szybko sprawdzone w pracy.<br /><br />Wysłane z telefonu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 18 lis 2013, o 20:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Paul Dirac]]></name></author>
<updated>2013-11-18T20:43:55+01:00</updated>
<published>2013-11-18T20:37:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57617#p57617</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57617#p57617"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57617#p57617"><![CDATA[
porównaj sobie co ja zrobiłem, a co ty miałeś. łatwo wyłapiesz, że wywaliłem kilka zbednych rzeczy i poprawiłem system sprawdzania warunków else if()<br /><br />Ale to jest niesamowite, ze na jednym porcie działa, a na innym nie. Do tej pory nie spotkałem sie z czyms takim, ale róznie bywa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1035">Paul Dirac</a> — 18 lis 2013, o 20:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-18T20:26:46+01:00</updated>
<published>2013-11-18T20:26:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57613#p57613</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57613#p57613"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57613#p57613"><![CDATA[
Chodzi ci o to ze w tym kodzie testowym mam babola ? Nie ma mnie jeszcze w domu a bym poprobowal a pozno bede bo kolo 24 to moze cos podpowiesz jak cos widzisz?<br /><br />Wysłane z telefonu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 18 lis 2013, o 20:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Paul Dirac]]></name></author>
<updated>2013-11-18T20:22:33+01:00</updated>
<published>2013-11-18T20:22:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57611#p57611</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57611#p57611"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57611#p57611"><![CDATA[
Siema, właśnie mi teraz działa, wprowadziłem modyfikacje. Twój program też mi nie reagował, więc jest jakis &quot;gupi&quot; błąd. Znowu się czegoś nauczyłem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />.<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br /><br /><br />#include &quot;lcd/lcd.h&quot;<br /><br />//wejscia<br />#define KL1 (1&lt;&lt;PD7)<br /><br /><br /><br /><br /><br /><br /><br />        int main(void){<br />        static uint8_t opis;<br />        static uint8_t key_lock;<br />                //poczatek int main<br />DDRA = 0xff;<br />PORTA = 0x00;<br /><br />                DDRD &amp;= ~(KL1);     //piny jako wejscia<br />                PORTD |= KL1;       //podciagamy wewnetrznie do VCC<br /><br />DDRB |= (1&lt;&lt;PB0);<br />PORTB |= (1&lt;&lt;PB0);<br /><br />            lcd_init();<br />            stdout=&amp;mystdout;<br />            printf(&quot;LCD OK!&quot;);<br />            _delay_ms(1000);<br />            lcd_clear();<br /><br /><br /><br /><br />                        while(1){<br /><br /><br />                                  if( !key_lock &amp;&amp; !(PIND &amp; KL1 ) ) {<br />                                   key_lock = 1;<br />                                   PORTB ^= (1&lt;&lt;PB0);<br />                                   opis ^= 1;<br /><br />                                  } else if( key_lock &amp;&amp; (PIND &amp; KL1 ) ) key_lock++;<br /><br />                                  else if(opis==1){<br />                                          lcd_set_xy(0,0);<br />                                          lcd_str_P(PSTR(&quot;      opis     &quot;));<br />                                  }else {<br />                                          lcd_set_xy(0,0);<br />                                          lcd_str_P(PSTR(&quot;                &quot;));<br />                                  }<br /><br /><br /><br />                        //koniec petli glownej<br />                        }<br /><br />        //koniec int main<br />        }[/syntax]<br /><br />No jesli nie działa, to szukaj błędu na płytce, chociaż różnie to bywa. Zresztą mi teraz ładnie smiga.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1035">Paul Dirac</a> — 18 lis 2013, o 20:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-18T19:50:24+01:00</updated>
<published>2013-11-18T19:50:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57601#p57601</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57601#p57601"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57601#p57601"><![CDATA[
majster - ty zamiast się męczyć i męczyć z tym że na PORTA niby nie działa ci klawisz a na PORTC działa i myślisz że to wina rodzaju portu - to podpowiem tylko jedno<br /><br />- weź ty zostaw ten cały kod programu na boku<br />- odpocznij trochę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />- i napisz nowy mały testowy projekt <br /><br />Bo to z czym NAJGORZEJ borykają się początkujący programiści to fakt - że nie potrafią sobie podzielić projektu na mniejsze kawałki, nie potrafią go przetestować - tylko wciąż WAŁKUJĄ wielką kobyłę - i zwykle nie mogą dostrzec błędu<br /><br />ja zawsze powtarzam w każdym prawie poradniku - jak mi coś nie działa to dzielę problem na DWIE części<br /><br />w tym przypadku jedna część to inny mały projekcik i zwykły test takich klawiszy i na portA i na PORTC bez żadnych tam udziwnień, timerów i nie wiadomo czego<br /><br />i wtedy patrzysz - działa tak samo czy nie działa ?<br /><br />a odpowiedź już chyba znasz<br /><br />jak nie działa - to szukasz tu błędu - i w połączeniach i w kodzie - im prostszy kod tym łatwiej znaleźć babola. Tak samo gdybym nic nadal nie widział to na stykówce nawet bym postawił oddzielnie procka żeby to przetestować w oderwaniu od projektu który akurat robisz - bo jak masz babola i go nie widzisz to i tak przy tzw kobyle nie zobaczysz<br /><br />a jak sam na własne oczy w końcu zobaczysz że klawisze tak samo ci działają i na PORTA i na PORTC bo INACZEJ BYĆ NIE MOŻE <br /><br />i znajdziesz babola - to już będziesz mądrzejszy i zrozumiesz że masz gdzieś w swoim poprzednim projekcie - coś co cię mocno gryzie<br /><br />czyli dużego BUG'a ... no ale już łatwiej będzie ci go znaleźć<br /><br />------------------------------------<br /><br />tak TRZEBA podchodzić do rozwiązywania problemów i w ogóle nie przyjmuję do wiadomości gdy ktoś w takiej sytuacji mówi mi np że nieee, że to za dużo czasu trzeba na takie zabawy z nowym projektem itp ... <br /><br />no ok jeśli za dużo czasu ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> to powodzenia <br /><br />ja ZAWSZE w ten sposób zaoszczędzam czas i wyrwane włosy na głowie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... i niestety każdy i ty też wcześniej czy później do tego samego dojdziesz - nie ma że boli. Ważne żeby wcześniej niż później.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Bo krótko mówiąc - tak patrzę na ten wątek od jakiegoś czasu - ale to wygląda jak przysłowiowe &quot;kopanie się z koniem&quot; .... może i warto raz przejść takie coś na wizji że tak powiem - żeby zrozumieć - że programowanie to przede wszystkim umiejętność testowania i podziału problemów zawsze na dwa ...<br /><br />a tymczasem w tym wątku zostały już poruszone tak różne rzeczy i sprawy oderwane od rzeczywistości że mi np ciężko w ogóle załapać o co tu chodzi ....<br /><br />poza tą prostą rzeczą - że klawisze nie działają<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 lis 2013, o 19:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-18T16:14:08+01:00</updated>
<published>2013-11-18T16:14:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57560#p57560</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57560#p57560"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57560#p57560"><![CDATA[
Jak na moj gust to jest poczytaj mirka poradniki. A i timer jak pisalem zostal ustawiony do pozniejszych zastosowan i testow.<br /><br />Wysłane z telefonu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 18 lis 2013, o 16:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[perlon]]></name></author>
<updated>2013-11-18T11:02:16+01:00</updated>
<published>2013-11-18T11:02:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57509#p57509</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57509#p57509"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57509#p57509"><![CDATA[
A powiedz kolego drogi jak Timer1 już doliczy do zera to co się z nim dzieje i do czego on ci jest potrzebny? Do czego w ogóle używasz przerwanie ISR(TIMER0_COMP_vect)?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />Jak na mój gust to nie masz tam w ogóle eliminacji drgań styków.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=382">perlon</a> — 18 lis 2013, o 11:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-18T09:34:52+01:00</updated>
<published>2013-11-18T09:34:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57495#p57495</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57495#p57495"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57495#p57495"><![CDATA[
Nic nie grzebalem w fusach. Tylko tyle ze wylaczylem jtag czy jak to sie zwie.<br /><br />Wysłane z telefonu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 18 lis 2013, o 09:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[iwi]]></name></author>
<updated>2013-11-18T09:26:11+01:00</updated>
<published>2013-11-18T09:26:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57493#p57493</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57493#p57493"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57493#p57493"><![CDATA[
<div class="quotetitle">majster napisał(a):</div><div class="quotecontent"><br />co mogę wyłączyć w fusach albo ustawić w programie by port A działał prawidłowo ... bo wiem że port A 0 - 7 to może być również  ADC 0 - 7<br />i może właśnie te ADC coś mi broi ?<br /></div><br /><br />ADMUX - masz 8 bitów ustawionych domyślnie na 0.<br />ADCSRA - masz 8 bitów ustawionych domyślnie na 0?<br /><br />Jeśli tam nic nie grzebałeś to nie masz włączonego przetwornika ADC. <br />Start konwersji rozpoczyna się gdy w rejestrze  ADCSRA ustawisz bit ADEN na 1 i oczywiście poustawiasz Prescalera i które wejście jest ADC a które nie (bity MUX). Więcej ustawień masz w Nocie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1988">iwi</a> — 18 lis 2013, o 09:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-18T09:22:03+01:00</updated>
<published>2013-11-18T09:22:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57491#p57491</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57491#p57491"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57491#p57491"><![CDATA[
Jak wroce z pracy tez sie pobawie jeszcze. Narazie wiem ze ten sam kawalek kodu na pc chodzi a na pa gubi nacisniecie co jakis czas.<br /><br />Wysłane z telefonu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 18 lis 2013, o 09:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Paul Dirac]]></name></author>
<updated>2013-11-18T09:14:48+01:00</updated>
<published>2013-11-18T09:14:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57489#p57489</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57489#p57489"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57489#p57489"><![CDATA[
No w sumie program jest krótki, wrócę do domu z uczelni to go przetestuje na moim sprzęcie. W sumie sie zobaczy. Napisze o rezultatach i trochę pokombiuje w razie problemów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1035">Paul Dirac</a> — 18 lis 2013, o 09:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzysztoffx]]></name></author>
<updated>2013-11-18T09:00:58+01:00</updated>
<published>2013-11-18T09:00:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57485#p57485</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57485#p57485"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57485#p57485"><![CDATA[
hmmm teoretycznie bez załączenia bitu ADEN w rejestrze ADCSRA funkcjonalność ADC powinna być całkowicie wyłączona chyba że o czymś nie wiem <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1459">krzysztoffx</a> — 18 lis 2013, o 09:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-18T08:51:14+01:00</updated>
<published>2013-11-18T08:51:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57484#p57484</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57484#p57484"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57484#p57484"><![CDATA[
Sa tylko switche<br /><br />Wysłane z telefonu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 18 lis 2013, o 08:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzysztoffx]]></name></author>
<updated>2013-11-18T08:46:56+01:00</updated>
<published>2013-11-18T08:46:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57483#p57483</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57483#p57483"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57483#p57483"><![CDATA[
a  czy na porcie a jest cokolwiek innego poza switchem zwierającym do masy?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1459">krzysztoffx</a> — 18 lis 2013, o 08:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-18T00:09:45+01:00</updated>
<published>2013-11-18T00:09:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57462#p57462</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57462#p57462"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57462#p57462"><![CDATA[
Właśnie przeczytałem twój post ... wchodząc na forum ... męczą mnie te klawisze ... jedna z najgłupszych rzeczy w AVR <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> i nikt nie ma na to gotowego lekarstwa ... a dlaczego tak pisze ?<br /><br />Już objaśniam ... na początek kod ... kilka rzeczy jest utaj nie potrzebnych ale przygotowałem sobie do testów.<br /><br />[syntax=c]/*<br /> * main.c<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br /><br />#include &quot;lcd/lcd44780.h&quot;<br /><br />//wejscia<br />#define KL1 (1&lt;&lt;PA0)<br />#define KL2 (1&lt;&lt;PA1)<br />#define KL3 (1&lt;&lt;PA2)<br />#define KL4 (1&lt;&lt;PA3)<br /><br /><br /><br />//wyjscia<br />#define BIP_PIN (1&lt;&lt;PB0) //definicja pinu<br />#define BIP_ON PORTB |= BIP_PIN // Mikrodefinicja - zaczaczenia<br />#define BIP_OFF PORTB &amp;= ~BIP_PIN // Mikrodefinicja - wylaczaczenia<br />#define BIP_TOG PORTB ^= BIP_PIN // Mikrodefinicja - zmiany stanu<br /><br />// timery programowe<br />volatile uint16_t Timer1;<br /><br />uint8_t key_lock, opis;<br /><br /><br /><br /><br /><br /><br />int main(void){<br />//poczatek int main<br /><br />DDRA &amp;= ~(KL1|KL2|KL3|KL4);//piny jako wejscia<br />PORTA |= KL1|KL2|KL3|KL4; //podciagamy wewnetrznie do VCC<br /><br />DDRB |= BIP_PIN;   // piny jako wyjscia<br />PORTB &amp;= ~BIP_PIN;  // ustawiamy stan niski<br /><br /><br /><br /><br />TCCR0  |= (1&lt;&lt;WGM01);                       // tryb pracy CTC<br />TCCR0  |= (1&lt;&lt;CS01)|(1&lt;&lt;CS00);      // preskaler = 64<br />OCR0  = 124;                                 // CTC na 1 ms<br />TIMSK  |= (1&lt;&lt;OCIE0);                        // odblokowanie przerwania CompareMatch<br /><br />lcd_init(); //inicjalizacja lcd<br /><br />sei(); //zezwolenie na przerwania<br /><br />_delay_ms(10);<br /><br />while(1){<br />//poczatek petli glownej<br /><br /><br />  if( !key_lock &amp;&amp; !(PINA &amp; KL1 ) ) {<br />   key_lock = 1;<br /><br />   PORTB ^= (1&lt;&lt;PB0);<br />   opis ^= 1;<br /><br />  } else if( key_lock &amp;&amp; (PINA &amp; KL1 ) ) key_lock++;<br /><br />  if(opis){<br />  lcd_locate(0,0);<br />  lcd_str(&quot;      opis      &quot;);<br />  }else{<br />  lcd_locate(0,0);<br />  lcd_str(&quot;                &quot;);<br />  }<br /><br /><br /><br />//koniec petli glownej<br />}<br /><br />//koniec int main<br />}<br /><br /><br />//przerwanie Timer0<br />ISR(TIMER0_COMP_vect){<br /><br /> uint16_t n;<br /> n = Timer1;  /* 100Hz Timer1 */<br /> if (n) Timer1 = --n;<br /><br />}[/syntax]<br /><br />no niby super co ? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />zwróćcie uwagę na fragment o klawiszu ... o eliminacji drgań styków <br /><br />[syntax=c]if( !key_lock &amp;&amp; !(PINA &amp; KL1 ) ) {<br />                                   key_lock = 1;<br /> <br />                                   PORTB ^= (1&lt;&lt;PB0);<br />                                   opis ^= 1;<br /> <br />                                  } else if( key_lock &amp;&amp; (PINA &amp; KL1 ) ) key_lock++;[/syntax]<br /><br />... no tak jest to fragment z mirka poradnika ... ale jakoś wg mirka opisu ... kod jest sprawny ... mnie udało się go ubić ...<br />albo ja mam gdzieś bubla ... załączam film ... że często klawisz nie reaguje ... czyli tak jak i w moim programie .... o którym mowa była wcześniej i który jest na wcześniejszym wideo powyżej.<br /><br />A tutaj wideo z działania leda po press ... widać że się krzaczy tak samo jak i opis na lcd.<br /><br /><br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 13 minutach ]</span></strong><br /><br />ale winą tutaj nie jest kod ....<br /><br />gdyż podłączając klawisze do<br /><br />[syntax=c]#define KL1 (1&lt;&lt;PC5)<br />#define KL2 (1&lt;&lt;PC4)<br />#define KL3 (1&lt;&lt;PC3)<br />#define KL4 (1&lt;&lt;PC2)[/syntax]<br /><br /><br />portu  C a nie jak wczesniej A<br />klawisze działają prawidłowo ...<br /><br />Jest to Atmega32<br /><br />co mogę wyłączyć w fusach albo ustawić w programie by port A działał prawidłowo ... bo wiem że port A 0 - 7 to może być również  ADC 0 - 7<br /><br />i może właśnie te ADC coś mi broi ?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 18 minutach ]</span></strong><br /><br />Zmieniłem w programie odnośnie temperatury .... z  PORT A  na  PORT C i działa wyśmienicie ... klawisze się nie gubią ...<br /><br />ktoś może wytłumaczyć dlaczego na porcie A / ADC  klawisze się gubią ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 18 lis 2013, o 00:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Paul Dirac]]></name></author>
<updated>2013-11-17T23:43:16+01:00</updated>
<published>2013-11-17T23:43:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57459#p57459</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57459#p57459"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57459#p57459"><![CDATA[
W sumie robie cos podobnego, nawet bardzo. Ja to mam 2 switche i kazdy ma po 4 funckje, długi wciskanie powoduje, że smiga po menu, krótkie, że wejdzie w dana opcje. <br />A co do main to jest mega prosty dla tamtej opcji: <br /><br />[syntax=c]keys_init();<br />set_key_action(0, first_sensor, long_press_first_key);<br />set_key_action(1, second_sensor, long_press_second_key);<br />set_key_action(2, third_sensor, long_press_third_key);<br /><br />for(int i=0; i&lt; NUMBER_OF_KEYS ; i++)<br />{<br />if(key&#91;i&#93;.short_press)<br />{<br />do<br />{<br />if(key&#91;i&#93;.key_action_callback) key&#91;i&#93;.key_action_callback();<br />}while(--key&#91;i&#93;.short_press);<br />}<br />if(key&#91;i&#93;.long_press)<br />{<br />do<br />{<br />if(key&#91;i&#93;.key_rep_action_callback) key&#91;i&#93;.key_rep_action_callback();<br />}while(--key&#91;i&#93;.long_press);<br />}<br /><br />}<br />show_parameter();[/syntax]<br /><br />A co do zarejestrowania to dowoli możesz, aj sobie walnąłem  po prostu: <br />callback.c;<br />[syntax=c]#include &quot;callbacki.h&quot;<br />#include &quot;C:/PSM/dht/LCD/lcd.h&quot;<br /><br /><br />void first_sensor(void)<br />{<br />sensor.which_sensor = 1;<br />}<br /><br />void long_press_first_key(void)<br />{<br />sensor.long_press_key = 1;<br />}<br /><br />void second_sensor(void)<br />{<br />sensor.which_sensor = 2;<br />}<br /><br />void long_press_second_key(void)<br />{<br />sensor.long_press_key = 2;<br />}<br /><br />void third_sensor(void)<br />{<br />sensor.which_sensor = 3;<br />}<br /><br />void long_press_third_key(void)<br />{<br />sensor.long_press_key = 3;<br />}<br /><br />void show_parameter(void)<br />{<br />lcd_set_xy(0,10);<br />printf(&quot;%d,%d&quot;,sensor.which_sensor, sensor.long_press_key);<br />/*<br />if(sensor. which_sensor &gt; 0)<br />{<br />lcd_int(sensor.which_sensor);<br />}<br />else<br />{<br />lcd_str_P(PSTR(&quot;0&quot;));<br />}<br />lcd_str_P(PSTR(&quot;,&quot;));<br />if(sensor.long_press_key &gt; 0)<br />{<br />lcd_int(sensor.long_press_key);<br />}<br />else<br />{<br />lcd_str_P(PSTR(&quot;0&quot;));<br />}*/<br />}[/syntax]<br /><br />callback.h<br />[syntax=c]#ifndef CALLBACKI_H_<br />#define CALLBACKI_H_<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;inttypes.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />typedef struct<br />{<br />volatile uint8_t which_sensor;//variable preserve which sensor is show on LCD<br />volatile uint8_t long_press_key;//variable during long press key_x and x ={0,1,2,..,n}<br />volatile uint8_t send_labview;<br />volatile uint8_t reset_device;<br />}SENSOR;<br />SENSOR sensor;<br /><br /><br />void first_sensor(void);<br />void long_press_first_key(void);<br />void second_sensor(void);<br />void long_press_second_key(void);<br />void third_sensor(void);<br />void long_press_third_key(void);<br />void show_parameter(void);<br /><br />#endif /* CALLBACKI_H_ */[/syntax]<br /><br /><br />A co do twojego probelmu, to nie wiem. Musiałbyś wrzucić cały kod, który masz, a powiem serio, analizowanie czyjegoś kodu, zapewne z kilkaset linijkami to nie dla mnie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />. Bo skoro tobie nie działa to i mi by nie działało <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />.<br /><br />Powinieneś moim zdaniem, wyłaczyc all i przetestowac działanie samych keys. Bo bys wiedział, czy tylko masz problem z kodem dla obługi switchy, czy siedzi on gdzieś głębiej. Ja, np. zanim dowaliłem obługe keyów, przetestowałem sobie w najprostszym projekcie, gdzie miałem tylko obługe switchy i lcd, i wciskałem i patrzyłem czy wszystko gra, potem ją dorzuciłem do głównego projektu i też gra.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1035">Paul Dirac</a> — 17 lis 2013, o 23:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-17T21:04:37+01:00</updated>
<published>2013-11-17T21:04:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57410#p57410</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57410#p57410"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57410#p57410"><![CDATA[
ok wydłużyłem do licznik 8 i niby działa ale tylko klawisz 1 :/ wejscie i wyjscie z menu :/<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 7 minutach ]</span></strong><br /><br />dobra panowie tyle juz przeszedlem i podzialalem wiec sam cos predzej czy pozniej wykombinuje<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 35 minutach ]</span></strong><br /><br />tutaj słychać wciskanie switcha<br /><br />1 SW  wchodzi w menu<br />2 SW  przewija<br />3 SW  potwierdza<br /><br />jak nie jestes w menu<br />SW2 pamiec temp zewn<br />SW3 pamiec temp wewn<br /><br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 17 lis 2013, o 21:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[perlon]]></name></author>
<updated>2013-11-17T20:43:04+01:00</updated>
<published>2013-11-17T20:43:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57398#p57398</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57398#p57398"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57398#p57398"><![CDATA[
Piszę bez sprawdzania dla tego konkretnego przypadku. Podobne rozwiązanie stosowałem w układzie z przyciskami dzwonkowymi które na prawdę drgają. Skoro upierasz się żeby nie korzystać z propozycji z książki to może taka wersja ci podpasuje :<br />[syntax=c]uint8_t sprawdz_przycisk( uint8_t klawisz ){<br /><br />static uint8_t licznik = 5;<br />if(klawisz_timer==0){<br />if( ! ( PINA &amp; klawisz ) )  {<br />if(licznik) licznik-- else {<br />                           licznik = 5;<br />           klawisz_timer = 1;<br />                           return 1;<br />                        }<br />} else licznik = 5;<br />         }<br />klawisz_timer = 1;<br />return 0;<br />}[/syntax]<br />W programie masz klawisz_timer którego zdaje się nie wykorzystujesz. Proponuję więc procedurę sprawdz_przycisk nie blokować tylko w niej zliczać ile razy powtórzy się ten sam stan przycisku. Jeżeli doliczy do 5 ( można sobie wpisać wedle uznania ) to wystawi 1. Jeżeli nie doliczy do 5 to albo przycisk nie jest wciśnięty albo jeszcze drga styk. Sprawdzanie trwa cyrka w przybliżeniu 50ms po ustaniu drgań i masz załatwioną sprawę &quot;debouncingu&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> Zaproponowane rozwiązanie ma wady ale może się sprawdzi na szybko.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=382">perlon</a> — 17 lis 2013, o 20:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-17T21:11:58+01:00</updated>
<published>2013-11-17T20:11:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57385#p57385</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57385#p57385"/>
<title type="html"><![CDATA[Re: przyciski kombinuje i kombinuje i wykombinowac nie moge]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4815&amp;p=57385#p57385"><![CDATA[
w załączniku mój pierwszy program który działa wg moich założeń ... co prawda dużo mi do callbacow i eventow ... ale tak jak chcialem tak dziala ... procz przyciskow ... trzeba czasem kilka razy wcisnac by zadzialaly ....<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 21 minutach ]</span></strong><br /><br />jak widac staralem pisac sie sam nie kopiowalem gotowych menu itd ... ucze sie ... chcialem zrobic samemu wg mojego pomyslu moze duzo tych ifow ... ale dziala jak chcialem ... z wyjatkiem przyciskow czasem trzeba 2x wcisnac by zadzialal<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 17 lis 2013, o 20:11</p><hr />
]]></content>
</entry>
</feed>