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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-04-11T21:01:39+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=915&amp;mode</id>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-04-11T21:01:39+01:00</updated>
<published>2016-04-11T21:01:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=158302#p158302</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=158302#p158302"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=158302#p158302"><![CDATA[
Jeżeli kolega pomógł to proszę zaznaczyć w okienku. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />to taka mocno dopingująca forma podziękowania na forum. <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=11549">Daro69</a> — 11 kwi 2016, o 21:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DamianZmc]]></name></author>
<updated>2016-04-11T19:27:39+01:00</updated>
<published>2016-04-11T19:27:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=158289#p158289</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=158289#p158289"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=158289#p158289"><![CDATA[
Sprawa załatwiona! Dziękuje!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13486">DamianZmc</a> — 11 kwi 2016, o 19:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-04-11T19:24:25+01:00</updated>
<published>2016-04-11T19:24:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=158288#p158288</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=158288#p158288"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=158288#p158288"><![CDATA[
A wyłączyłeś Interfejs JTAG?<br />Sprawdz zakładkę Fusy uproszczone w programie mkAVRCalculator.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 11 kwi 2016, o 19:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DamianZmc]]></name></author>
<updated>2016-04-11T19:20:21+01:00</updated>
<published>2016-04-11T19:20:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=158287#p158287</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=158287#p158287"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=158287#p158287"><![CDATA[
Witam, odświeżę wątek bo również zaciąłem się na tym samym zadaniu. Mianowicie u mnie wygląda sytuacja w ten sposób, że po wgraniu programu do uC dioda cały czas miga. Po podłączeniu PC6 do GND dioda miga z nieznacznie mniejszą częstotliwością, ale da się to zauważyć. Po podłączeniu PC5 lub PC2 do GND nic się nie dzieje, dioda sobie miga. Prosiłbym o jakieś wskazówki jak to rozwiązać żeby program działał prawidłowo. Typ uC to ATmega 16, taktowanie 8 MHz, w Other wpisane -B 8.<br /><br /><a href="https://obrazkiforum.atnel.pl/13486/6175dc496b6399a22d4ec65db262e28a.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/13486/6175dc496b6399a22d4ec65db262e28a.jpg" alt="Obrazek" /></a><br /><br />[syntax=c]// *************   definicje dla preprocesora<br />// dioda LED<br />#define LED_PIN (1&lt;&lt;PC7)// definicja pinu do którego podłączona jest dioda<br />#define LED_ON PORTC &amp;= ~LED_PIN // makrodefinicja – załączenie diody<br />#define LED_OFF PORTC |= LED_PIN // makrodefinicja – wyłączenie diody<br />#define LED_TOG PORTC ^= LED_PIN  // makrodefinicja – zmiana stanu diody<br />// klawisz K1<br />#define KEY1_PIN (1&lt;&lt;PC6)<br />#define KEY2_PIN (1&lt;&lt;PC5)<br />#define KEY3_PIN (1&lt;&lt;PC2)<br /><br />uint8_t klawisz_wcisniety(uint8_t klawisz);// deklaracja funkcji<br /><br />// *************************************************** pętla główna main()<br />int main(void)<br />{<br />// ****** inicjalizacja *********<br />DDRC |= LED_PIN;// kierunek pinu PC7 – wyjściowy<br />PORTC |= LED_PIN;// wyłączenie diody LED<br /><br />DDRC &amp;= ~( KEY1_PIN | KEY2_PIN | KEY3_PIN );// kierunek pinu PC6 - wejściowy<br />PORTC |= KEY1_PIN | KEY2_PIN | KEY3_PIN;// podciągnięcie pinu do VCC<br /><br />// ****** pętla główna programu  *********<br />while(1)<br />{<br />if(  klawisz_wcisniety( KEY1_PIN)  ) LED_ON;<br />if(  klawisz_wcisniety( KEY2_PIN)  ) LED_OFF;<br />if(  klawisz_wcisniety( KEY3_PIN)  ) LED_TOG;<br />}<br />}<br />//******************************************************** koniec main()<br /><br />// definicja funkcji<br />uint8_t klawisz_wcisniety(uint8_t klawisz)<br />{<br />if ( ! ( PINC &amp; klawisz ) )// klawisz wciśnięty ?<br />{<br />_delay_ms(80);// czas drgań styków<br />if ( ! ( PINC &amp; klawisz ) ) return 1;   // jeśli wciśnięty?  zakończ funkcję - rezultat = 1<br />}<br /><br />return 0;// jeśli nie wciśnięty klawisz, zakończ funkcję, rezultat = 0<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13486">DamianZmc</a> — 11 kwi 2016, o 19:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kris4cars]]></name></author>
<updated>2014-11-09T22:27:18+01:00</updated>
<published>2014-11-09T22:27:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=103091#p103091</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=103091#p103091"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=103091#p103091"><![CDATA[
ja już naprawdę mam problemy z oczami, normalnie bije pokłony... <br />dzięki <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> działa <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4710">kris4cars</a> — 9 lis 2014, o 22:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-11-09T22:09:50+01:00</updated>
<published>2014-11-09T22:09:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=103084#p103084</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=103084#p103084"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=103084#p103084"><![CDATA[
porównaj sobie pan nagłówek swojej funkcji:<br /><br />[syntax=c]uint8_t klawisz_wcisniety(uint8_t klawisz);[/syntax]<br /><br />z tym jak wygląda już to w ciele samej funkcji:<br /><br />[syntax=c]uint8_t klawisz_wcisniety(void) { ...[/syntax]<br /><br />i zastanów się chwilę coś pan tu namieszał <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=54">mirekk36</a> — 9 lis 2014, o 22:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kris4cars]]></name></author>
<updated>2014-11-09T22:07:23+01:00</updated>
<published>2014-11-09T22:07:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=103082#p103082</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=103082#p103082"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=103082#p103082"><![CDATA[
Witam, dorobiłem się BB oraz ATB 1.04,<br />przeczytałem w ciągu 4 dni całą teorię i dotarłem do warsztatów.<br />Problem pojawił się na przykładzie ze strony 191 - ostatni z tego rozdziału.<br /><br />Wydaje mi się że kod mam przepisany poprawnie a mimo to eclipse wyrzuca błąd przy kompilacji :/<br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 2010-03-27<br /> *       Autor: Mirosław Kardaś<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br />// *************   definicje dla preprocesora<br />// dioda LED<br />#define LED_PIN (1&lt;&lt;PC7)// definicja pinu do którego podłączona jest dioda<br />#define LED_TOG PORTC ^= LED_PIN// makrodefinicja – zmiana stanu diody<br />#define LED_OFF PORTC |= LED_PIN    // makrodefinicja - wyłączenie diody<br />#define LED_ON PORTC &amp;= ~LED_PIN<br /><br /><br />// klawisz K1<br />#define KEY1_PIN (1&lt;&lt;PC6)<br />#define KEY2_PIN (1&lt;&lt;PC5)<br />#define KEY3_PIN (1&lt;&lt;PC2)<br /><br /><br /><br />uint8_t klawisz_wcisniety(uint8_t klawisz);// deklaracja funkcji<br /><br />// *************************************************** pętla główna main()<br />int main(void)<br />{<br />// ****** inicjalizacja *********<br />DDRC |= LED_PIN;// kierunek pinu PC7 – wyjściowy<br />PORTC |= LED_PIN;// wyłączenie diody LED<br />DDRC &amp;= ~( KEY1_PIN | KEY2_PIN | KEY3_PIN );// klawisze jako wejscia<br />PORTC |=   KEY1_PIN | KEY2_PIN | KEY3_PIN  ;// podciągnięcie pinów do VCC<br /><br />// ****** pętla główna programu  *********<br />while(1)<br />{<br />if( klawisz_wcisniety( KEY1_PIN )  ) LED_ON;<br />if( klawisz_wcisniety( KEY2_PIN ) ) LED_OFF;<br />if( klawisz_wcisniety( KEY3_PIN ) ) LED_TOG;<br />}<br />}<br />//******************************************************** koniec main()<br /><br />// definicja funkcji<br />uint8_t klawisz_wcisniety(void)<br />{<br />if( ! ( PINC &amp; klawisz) )// klawisz wciśnięty ?<br />{<br />_delay_ms(80);// czas drgań styków<br />if( ! ( PINC &amp; klawisz ) ) return 1;   // jeśli wciśnięty?  zakończ funkcję - rezultat = 1<br />}<br /><br />return 0;// jeśli nie wciśnięty klawisz, zakończ funkcję, rezultat = 0<br />}[/syntax]<br /><br /><br />oraz błędy z konsoli:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">**** Build of configuration Release for project nauka ****<br /><br />make all <br />Building file: ../main.c<br />Invoking: AVR Compiler<br />avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=8000000UL -MMD -MP -MF&quot;main.d&quot; -MT&quot;main.d&quot; -c -o &quot;main.o&quot; &quot;../main.c&quot;<br />../main.c:48: error: conflicting types for 'klawisz_wcisniety'<br />../main.c:26: error: previous declaration of 'klawisz_wcisniety' was here<br />../main.c: In function 'klawisz_wcisniety':<br />../main.c:50: error: 'klawisz' undeclared (first use in this function)<br />../main.c:50: error: (Each undeclared identifier is reported only once<br />../main.c:50: error: for each function it appears in.)<br />make: *** &#91;main.o&#93; Error 1<br /><br />**** Build Finished ****<br /></div><br /><br /><br />czego tu szukać?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4710">kris4cars</a> — 9 lis 2014, o 22:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wahuu]]></name></author>
<updated>2013-01-06T21:01:44+01:00</updated>
<published>2013-01-06T21:01:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23706#p23706</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23706#p23706"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23706#p23706"><![CDATA[
Ok działa, wielkie dzięki za pomoc!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=807">wahuu</a> — 6 sty 2013, o 21:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wahuu]]></name></author>
<updated>2013-01-06T20:52:44+01:00</updated>
<published>2013-01-06T20:52:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23702#p23702</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23702#p23702"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23702#p23702"><![CDATA[
A można jeszcze wiedzieć które piny atmegi32 zarezerwowane są dla JTAG? <br />Na MKAVRCalculator z płytki DVD niestety nie obsługuje atmegi32 więc nie zmienię fus bitów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=807">wahuu</a> — 6 sty 2013, o 20:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wilu88]]></name></author>
<updated>2013-01-06T20:43:46+01:00</updated>
<published>2013-01-06T20:43:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23696#p23696</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23696#p23696"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23696#p23696"><![CDATA[
Przede wszystkim widzę że w definicjach preprocesora piszesz<br /><br />[syntax=c]#define KEY_PIN (1&lt;&lt;PC2)<br />#define KEY_DOWN !(PINC &amp; KEY_PIN)[/syntax]<br /><br />Czyli definiujesz KEY_PIN na PC2<br /><br />Jednak później w komentarzach (pewnie dlatego że skopiowane z innego projektu używasz PC6<br /><br />[syntax=c]        DDRC &amp;= ~KEY_PIN;               // kierunek piny PC6 - wejściowu<br />        PORTC |= KEY_PIN;       // podciągnięcie wejścia do VCC[/syntax]<br /><br />Oczywiście to nie powoduje błędu w działaniu ale warto to zmieniać.<br /><br />Ale problemem jest co innego:<br /><br />[syntax=c]_delay_ms(10);<br />while(1) {<br /><br /> if( !key_lock &amp;&amp; !(PINC &amp; KEY1 ) ) {<br />  key_lock=1;<br /><br />  // reakcja na PRESS (wcinięcie przycisku)<br />  PORTB ^= LED;<br /><br /> } else if( key_lock &amp;&amp; (PINC &amp; KEY1 ) ) key_lock++;<br /><br />}[/syntax]<br /><br />To fragment ze strony Mirka eliminujący problemy ze stabilnością. Radzę poczytać ten artykuł: <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=743">Wilu88</a> — 6 sty 2013, o 20:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-01-06T20:39:43+01:00</updated>
<published>2013-01-06T20:39:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23694#p23694</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23694#p23694"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23694#p23694"><![CDATA[
<div class="quotetitle">wahuu napisał(a):</div><div class="quotecontent"><br />Nie przestawiałem ustawień fabrycznych w ogóle, procek taktuje mi z 1MHz i mam włączone piny do programatora JTAG. Czyli to chyba tego wina. <br />Pozmieniam fuse bity i dam znać czy działa.<br /></div><br /><br />To na prawdę powinieneś oglądać poradniki VIDEO bo są właśnie również dla ciebie w tym względzie - szczególnie ten na początek<br /><br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/12/avr-jak-zaczac.html" >http://mirekk36.blogspot.com/2012/12/av ... aczac.html</a><!-- m --><br /><br />polecam - ile rzeczy ci się wyjaśni - sam zobaczysz <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=54">mirekk36</a> — 6 sty 2013, o 20:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wahuu]]></name></author>
<updated>2013-01-06T20:36:39+01:00</updated>
<published>2013-01-06T20:36:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23692#p23692</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23692#p23692"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23692#p23692"><![CDATA[
Nie przestawiałem ustawień fabrycznych w ogóle, procek taktuje mi z 1MHz i mam włączone piny do programatora JTAG. Czyli to chyba tego wina. <br />Pozmieniam fuse bity i dam znać czy działa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=807">wahuu</a> — 6 sty 2013, o 20:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wahuu]]></name></author>
<updated>2013-01-06T20:24:41+01:00</updated>
<published>2013-01-06T20:24:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23690#p23690</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23690#p23690"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23690#p23690"><![CDATA[
Jak przytrzymuje przycisk to mam 0V, gdy nie jest wciśnięty jest 5V<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=807">wahuu</a> — 6 sty 2013, o 20:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2013-01-06T20:17:45+01:00</updated>
<published>2013-01-06T20:17:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23688#p23688</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23688#p23688"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23688#p23688"><![CDATA[
Najpierw sprawdź czy przy naciskaniu zmienia ci się napięcie na nóżce mikrokontrolera.<br /><br />Jeśli tak to wtedy można sie zabierać za analizę programu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 6 sty 2013, o 20:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wahuu]]></name></author>
<updated>2013-01-06T20:15:12+01:00</updated>
<published>2013-01-06T20:15:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23687#p23687</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23687#p23687"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23687#p23687"><![CDATA[
Program który wgrywam jest dla mnie jasny lecz nie działa w sposób jaki ma działać.<br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 2010-03-27<br /> *       Autor: Mirosław Kardaś<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />// definicje dla preprocesora<br /><br />// dioda LED<br />#define LED_PIN (1&lt;&lt;PC0)// definicja pinu do którego podłączona jest dioda<br />#define LED_TOG PORTC ^= LED_PIN// makrodefinicja – zmiana stanu diody<br /><br />// klawisz K1<br />#define KEY_PIN (1&lt;&lt;PC2)<br />#define KEY_DOWN !(PINC &amp; KEY_PIN)<br /><br /><br />// ********************************************************* 1-sza wersja<br />int main(void)<br />{<br />// ****** inicjalizacja *********<br />DDRC |= LED_PIN;// kierunek pinu PC7 – wyjściowy<br />PORTC |= LED_PIN;// wylaczenie diody<br />DDRC &amp;= ~KEY_PIN;// kierunek piny PC6 - wejściowu<br />PORTC |= KEY_PIN;       // podciągnięcie wejścia do VCC<br /><br />// ****** pętla główna programu  *********<br />while(1)<br />{<br />if( KEY_DOWN )<br />{<br />_delay_ms(80);<br />if( KEY_DOWN )<br />{<br />LED_TOG;<br />_delay_ms(200);<br />}<br />}<br />}<br />}<br /><br />[/syntax]<br /><br /><span style="color: #FF0000">[ tylko proszę panie kolego - zajrzyj do tego postu i zobacz na przyszłość jak się używa znaczników [ syntax = c ] zamiast [ code ] OK ? mirekk36]</span><br /><br />Przycisk podłączony mam jak na tym zdjęciu, zamiast tych rezystorów mam tam kabel do pinu atmegi(czyli chyba dobrze <img src="https://forum.atnel.pl/images/smilies/icon_question.gif" alt=":?:" title="Znak zapytania" /> ):<br /><img src="http://starter-kit.nettigo.pl/wp-content/uploads/2010/11/schema1-300x225.jpg" alt="Obrazek" /><br /><br />Gdy spradzam omomierzem pary pinów przycisku wyświetlacz pokazuje 9ohm<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=807">wahuu</a> — 6 sty 2013, o 20:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-01-06T19:52:19+01:00</updated>
<published>2013-01-06T19:52:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23680#p23680</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23680#p23680"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23680#p23680"><![CDATA[
wahuu --&gt; jak się ma jakiś problem to zwykle wypada powiedzieć coś więcej na jego temat ... pokaż kod funkcji main() ... (bez obaw kody źródłowe funkcji main() z książki czy z DVD można publikować na forum tylko bibliotek nie - no ale tu na razie z żadnej biblioteki nie korzystasz) i powiedz tzn napisz co sprawia ci kłopot w tym kodzie - czego nie rozumiesz OK ? to łatwiej i szybciej będzie można ci pomóc<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 6 sty 2013, o 19:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2013-01-06T19:50:31+01:00</updated>
<published>2013-01-06T19:50:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23679#p23679</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23679#p23679"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23679#p23679"><![CDATA[
Czy do masy czy też plusa to zależy od schematu.<br /><br />W przycisku musisz też sprawdzić omomierzem na których końcówkach występuje efekt przełącznia.<br /><br />Bo mogłeś podłączyć końcówkami które są ze sobą zwarte i wtedy rzeczywiście nie będzie widać efektu przełączania.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 6 sty 2013, o 19:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wahuu]]></name></author>
<updated>2013-01-06T19:47:19+01:00</updated>
<published>2013-01-06T19:47:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23675#p23675</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23675#p23675"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=23675#p23675"><![CDATA[
Witam<br /><br />Mam problem związany z przyciskiem micro switch.<br />Próbuje wgrać program z książki do mojej atmegi32 lecz efektem jest miganie diody - nie reaguje na przycisk.<br /><br />Nie jestem pewny czy dobrze podłączyłem przycisk(jedna para nóżek do masy, druga do pinu mikrokontrolera)?<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/807_bb784deed9a01ea3da2439d43cdb8b36.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/807_bb784deed9a01ea3da2439d43cdb8b36.JPG" alt="Obrazek" /></a><br />Sory za jakość ale nie miałem nic innego niż telefon pod ręką.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=807">wahuu</a> — 6 sty 2013, o 19:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-03-11T11:17:38+01:00</updated>
<published>2012-03-11T11:17:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4032#p4032</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4032#p4032"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4032#p4032"><![CDATA[
hehe  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br /><br />a co tam ostatni będą pierwszymi <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=58">SunRiver</a> — 11 mar 2012, o 11:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2012-03-10T22:50:28+01:00</updated>
<published>2012-03-10T22:50:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4028#p4028</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4028#p4028"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4028#p4028"><![CDATA[
<div class="quotetitle">SunRiver napisał(a):</div><div class="quotecontent"><br />o bestia mnie wyprzedziła <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /></div><br />hihihihi<br />a Ty zawsze chciałbyś być pierwszy  <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=189">MirkoT</a> — 10 mar 2012, o 22:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-03-10T22:48:47+01:00</updated>
<published>2012-03-10T22:48:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4026#p4026</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4026#p4026"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4026#p4026"><![CDATA[
o bestia mnie wyprzedziła <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=58">SunRiver</a> — 10 mar 2012, o 22:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-03-10T22:48:30+01:00</updated>
<published>2012-03-10T22:48:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4025#p4025</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4025#p4025"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4025#p4025"><![CDATA[
A jak myślisz ??<br /><br />PinD odnosi się do operacji na pojedynczym bicie portu D  do którego podłączony jest klawisz wskazany przez KEY_PIN <br /><br />Proponuję doczytać <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Różnicę między PIND a PORTD i wszystko stanie się jasne <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=58">SunRiver</a> — 10 mar 2012, o 22:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2012-03-10T22:49:27+01:00</updated>
<published>2012-03-10T22:46:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4024#p4024</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4024#p4024"/>
<title type="html"><![CDATA[Re: Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4024#p4024"><![CDATA[
PIND a raczej ogólnie PINx reprezentuje wartość rejestru odpowiadającego za stany wejść konkretnego portu.<br />Czyli jeżeli ustawiasz któryś z pinów jako wejście to w zależności od tego co masz na tym pinie otrzymujesz odpowiednią wartość.<br />Ale jest to rejestr 8-bitowy dlatego jest tam ta suma, aby wyciągnąć tylko wartość tego konkretnego pinu który Cię interesuje, który chcesz zbadać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 10 mar 2012, o 22:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wrangler]]></name></author>
<updated>2012-03-10T22:40:59+01:00</updated>
<published>2012-03-10T22:40:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4022#p4022</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4022#p4022"/>
<title type="html"><![CDATA[Obsługa klawiszy typu micro-switch]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=915&amp;p=4022#p4022"><![CDATA[
Zanim zabrałem się za &quot;praktykę&quot;, przeczytałem całą obszerną teorię - nie wszystko w pełni zrozumiałem, ale gdy przyjdzie czas na kolejne ćwiczenia, to jasna sprawa, że wrócę do potrzebnych rozdziałów. Ok, no to do dzieła z czym mam obecnie problem...<br />[syntax=c]<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#define LED_PIN (1&lt;&lt;PD6)<br />#define LED_TOG PORTD ^= LED_PIN<br /><br />#define KEY_PIN (1&lt;&lt;PD7)<br />#define KEY_DOWN !(PIND &amp; KEY_PIN)<br /> <br />int main(void)<br />{<br />DDRD |= LED_PIN;<br />PORTD |= LED_PIN;<br />DDRD &amp;= ~KEY_PIN;<br />PORTD |= KEY_PIN;<br />while(1)<br />{ <br />if ( KEY_DOWN )<br />{ _delay_ms(80);<br />if ( KEY_DOWN )<br />{<br />LED_TOG;<br />_delay_ms(200);<br />}<br /><br />}<br />}<br />}<br /><br /><br />[/syntax]<br /><br />Analizuję (zapewne banalne) wyrażenie: #define KEY_DOWN !(PIND &amp; KEY_PIN),<br />no, ale nie bardzo wiem jaką wartość bitową reprezentuje &quot;PIND&quot; (i od razu dlaczego właśnie taką, a nie inną?). <br />Chciałbym sobie rozpisać binarnie, co rzeczywiście wychodzi z tego iloczynu logicznego.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=223">Wrangler</a> — 10 mar 2012, o 22:40</p><hr />
]]></content>
</entry>
</feed>