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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-06-30T21:04:58+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1216&amp;mode</id>
<entry>
<author><name><![CDATA[ariek44]]></name></author>
<updated>2012-06-30T21:04:58+01:00</updated>
<published>2012-06-30T21:04:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8835#p8835</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8835#p8835"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8835#p8835"><![CDATA[
Ledes masz rację, należy tyldy zastąpić wykrzyknikami, idea jednak jest w porządku.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=416">ariek44</a> — 30 cze 2012, o 21:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ledes]]></name></author>
<updated>2012-06-30T19:38:54+01:00</updated>
<published>2012-06-30T19:38:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8834#p8834</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8834#p8834"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8834#p8834"><![CDATA[
To nie zadziała. Zastosowałeś negację bitową (tylda) zamiast logicznej (wykrzyknik). Negacja bitowa od 1 da 0xFE więc wartość niezerową. Ja bym dał key jako zmienną boolowską i negacje logiczne zamiast bitowych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=355">Ledes</a> — 30 cze 2012, o 19:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ariek44]]></name></author>
<updated>2012-06-30T19:05:12+01:00</updated>
<published>2012-06-30T19:05:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8833#p8833</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8833#p8833"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8833#p8833"><![CDATA[
Witam, ja bym jeszcze za pomocą flagi delikatnie zmodyfikował kod zabezpieczając się właśnie <br />przed wielokrotnym wywołaniem buzera przy dłuższym naciśnięciu przycisku<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">...<br />uint8_t key=0;<br />...<br />while(1)<br /> {<br />  if ( (klawisz_wcisniety(KEY3_PIN)) &amp;&amp; (~key) ) BUZ_ON;<br />  if ( (klawisz_wcisniety(KEY2_PIN)) &amp;&amp; (~key) ) BUZ_OFF;<br />  if ( (klawisz_wcisniety(KEY1_PIN)) &amp;&amp; (~key) ) BUZ_TOG;<br />  key = ( (klawisz_wcisniety(KEY3_PIN)) || (klawisz_wcisniety(KEY2_PIN)) || (klawisz_wcisniety(KEY1_PIN)) ) ? 1 : 0;<br /> }<br /></div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=416">ariek44</a> — 30 cze 2012, o 19:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-06-30T11:58:48+01:00</updated>
<published>2012-06-30T11:58:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8826#p8826</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8826#p8826"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8826#p8826"><![CDATA[
<div class="quotetitle">Ledes napisał(a):</div><div class="quotecontent"><br />Tak, o tym samym było w książce. Jednak muszę nabrać nieco wprawy w tych wszystkich rejestrach, bo z początku to nie wiadomo co z czym i do czego. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Fajny rysunek widziałem ostatnio na stronie Atnela/blogu Twoim. O różnicach między PORT/PIN i jakimi instrukcjami to obsługiwać. Szkoda, że nie znalazło się to w książce. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br /><br />No właśnie - sam nie wiem jak mogło mi to wylecieć z głowy podczas jej pisania - ale dlatego jest na blogu - no i może jeśli się pojawi kiedyś drugie oficjalne i poprawione wydanie to pewnie to dodam.<br /><br /><strong><em>-- dodano 30 cze 2012, o 11:03 --</em></strong><br /><br />aha i jeszcze jedno - na prawdę nie przyzwyczajaj się do takiej obsługi klawiszy - to tylko wstęp i jakieś tam podstawy podstaw. Ja widzę, zresztą że lecisz z materiałem jak burza - no ale nie ma co się dziwić wspominałeś że znasz z PC'ta języki typu C++ ..... Generalnie jak dojdziesz do dalszych rozdziałów i poczytasz sobie rozdział &quot;Wstęp do systemów czasu rzeczywistego albo jeszcze o funkcji SuperDebounce .... to wtedy będziesz miał komplet informacji co i jak - i zobaczysz, że do obsługi klawiszy nie potrzeba ani jednej instrukcji _delay_ms()<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 cze 2012, o 11:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ledes]]></name></author>
<updated>2012-06-30T11:46:38+01:00</updated>
<published>2012-06-30T11:46:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8825#p8825</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8825#p8825"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8825#p8825"><![CDATA[
Tak, o tym samym było w książce. Jednak muszę nabrać nieco wprawy w tych wszystkich rejestrach, bo z początku to nie wiadomo co z czym i do czego. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Fajny rysunek widziałem ostatnio na stronie Atnela/blogu Twoim. O różnicach między PORT/PIN i jakimi instrukcjami to obsługiwać. Szkoda, że nie znalazło się to w książce. <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=355">Ledes</a> — 30 cze 2012, o 11:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-06-30T11:38:24+01:00</updated>
<published>2012-06-30T11:38:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8824#p8824</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8824#p8824"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8824#p8824"><![CDATA[
Tak tak był jeszcze przy linii z ustawianiem kierunku<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />DDRC &amp;= ~(KEY1_PIN | KEY<span style="color: #FF0000"><strong>1</strong></span>_PIN | KEY3_PIN);<br /></div><br /><br />ale tu cię rozczaruję, to nie miało żadnego wpływu na działanie tego kodu - dlaczego? To też warto żebyś wiedział.<br /><br />Po resecie wszystkie rejestry no może nie wszystkie w całym procku (trzeba sprawdzać to w nocie dla każdego rejestru) ale na pewno rejestry portów są WYZEROWANE czyli dlatego domyślnie wszystkie piny są WEJŚCIAMI.<br /><br />Dlatego tą linijkę można sobie nawet pominąć - żeby nie zabierała miejsca w pamięci Flash w kodzie - no ale dla przejrzystości warto ją pisać. Nie mniej jednak gdy zbliżamy się do końca pamięci Flash to wtedy będziesz pamiętał że takie linijki można pousuwać <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> — 30 cze 2012, o 11:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ledes]]></name></author>
<updated>2012-06-30T11:34:42+01:00</updated>
<published>2012-06-30T11:34:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8823#p8823</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8823#p8823"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8823#p8823"><![CDATA[
Właśnie ten sam błąd znalazłem. Po jego naprawieniu działa lepiej. Dzięki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=355">Ledes</a> — 30 cze 2012, o 11:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-06-30T11:33:52+01:00</updated>
<published>2012-06-30T11:33:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8822#p8822</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8822#p8822"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8822#p8822"><![CDATA[
<div class="quotetitle">Ledes napisał(a):</div><div class="quotecontent"><br />.... Znalazłem jeszcze kilka błędów w kodzie.<br /></div><br /><br />I o to chodzi <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> — 30 cze 2012, o 11:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ledes]]></name></author>
<updated>2012-06-30T11:32:56+01:00</updated>
<published>2012-06-30T11:32:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8821#p8821</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8821#p8821"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8821#p8821"><![CDATA[
Dobra, działa. Przynajmniej na razie. Znalazłem jeszcze kilka błędów w kodzie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=355">Ledes</a> — 30 cze 2012, o 11:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-06-30T11:30:16+01:00</updated>
<published>2012-06-30T11:30:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8820#p8820</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8820#p8820"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8820#p8820"><![CDATA[
Kurczę no musiałem na prawdę nieźle patrzeć w ten kod jak sroka w gnat żeby dostrzec gdzieś pan babola popełnił <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> eeeeh<br /><br />no ale dobrze - ja straciłem trochę czasu a ty za to raz na zawsze zapamiętasz co to znaczy, gdy się linii wejściowej klawisza nie podciągnie do VCC i co to oznacza że na wejściu w stanie trzecim czyli HiZ napięcie pływa - stąd te czary, że raz ci coś działa a raz nie, raz działa tak a raz inaczej <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> normalnie masakra <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />wystarczyło zakomentować linię w której miałeś BUZ_OFF żeby zacząć się domyślać, że to właśnie ten IF co jakiś czas w tajemniczy sposób się SPEŁNIA <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... no bo rzeczywiście tak jest .... skoro twoje podciąganie pinów klawiszy do VCC wygląda tak:<br /><br />PORTC &amp;= ~(KEY1_PIN | KEY1_PIN | KEY3_PIN);<br /><br />trzeba uważać na to COPY &amp; PASTE <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />teraz jaśniej ? gdy BUG wyrwany z korzeniami ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 cze 2012, o 11:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ledes]]></name></author>
<updated>2012-06-30T10:27:28+01:00</updated>
<published>2012-06-30T10:27:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8817#p8817</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8817#p8817"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8817#p8817"><![CDATA[
Zauważyłem, że jak w programie była obsługa jednego przycisku to wszystko było ok, i buzzer piszczał cały czas (chyba, albo mi się z diodą myli) albo wcale. Dopiero przy trzech przyciskach coś jest nie halo i często nie reagują przyciski, trzeba kilka razy naciskać aby zareagował. Czym to jest spowodowane? Chciałbym to zrozumieć, zanim zabiorę się za trudniejsze rzeczy.<br /><br /><strong><em>-- dodano 30 cze 2012, o 11:28 --</em></strong><br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Nie no pewnie, że buzzer musi brzęczeć gdy mu podasz jedynkę - tak jak dioda <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> napisz który konkretnie fragment programu załącza ci tą jedynkę niby - a nie działa<br /></div><br />if(klawisz_wcisniety(KEY3_PIN)) BUZ_ON;<br /><br />toggle też źle działa.<br /><br />wciskam klawisz KEY3 i buzzer daje krótkie piknięcie tylko,  powinien piszczeć cały czas...<br /><br /><strong><em>-- dodano 30 cze 2012, o 11:33 --</em></strong><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Spróbuj sobie dużo krócej kliknąć palcem w ten klawisz który ma zmienić jego stan - wtedy okaże się że buzzer zmieni swój stan i będzie ładnie raz brzęczał a raz cicho<br /></div><br />Właśnie ten klawisz powoduje, że z każdym razem buzzer krótko pika. Tak samo, jak klawisz włączający buzzer.<br /><br /><strong><em>-- dodano 30 cze 2012, o 11:35 --</em></strong><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />jeśli zaś palca trzymasz za długo na przycisku to buzzer albo tylko piśnie krótko albo jeśli będziesz go cały czas trzymał ten klawisz to buzzer będzie cyklicznie piszczał - no właśnie i co ile czasu ? - co 80ms tyle ile masz ustawione niby tego _delay'a do eliminacji drgań styków<br /></div><br />No tak, jak przytrzymam to cyklicznie piszczy. Błąd w moim rozumowaniu jest taki, że wg programu jak nacisnę odpowiedni przycisk, to buzzer powinien stale piszczeć albo zmienić swój stan a jest, jak opisałem. :/<br /><br /><strong><em>-- dodano 30 cze 2012, o 11:40 --</em></strong><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Spróbuj sobie dużo krócej kliknąć palcem w ten klawisz który ma zmienić jego stan - wtedy okaże się że buzzer zmieni swój stan i będzie ładnie raz brzęczał a raz cicho<br /></div><br />Zgadza się, ale nadal nie rozumiem, dlaczego tak się dzieje.<br /><br /><strong><em>-- dodano 30 cze 2012, o 11:43 --</em></strong><br /><br />Ehh to co wyżej napisałem (z tym krótkim naciśnięciem) najpierw działało a teraz nie... Magia...<br /><br /><strong><em>-- dodano 30 cze 2012, o 12:02 --</em></strong><br /><br />Tak, potwierdzam, z jednym przyciskiem to działa jak należy, dopiero przy 2+ przyciskach na raz w programie coś się krzaczy. Ktoś mi to wytłumaczy?<br /><br /><strong><em>-- dodano 30 cze 2012, o 12:05 --</em></strong><br /><br />Jak zakomentowałem if(klawisz_wcisniety(KEY2_PIN)) BUZ_OFF; to działa ok<br /><br /><strong><em>-- dodano 30 cze 2012, o 12:11 --</em></strong><br /><br />Jak zakomentuję 34 linię to działa ok, dlaczego?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=355">Ledes</a> — 30 cze 2012, o 10:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-06-30T10:26:04+01:00</updated>
<published>2012-06-30T10:26:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8816#p8816</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8816#p8816"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8816#p8816"><![CDATA[
Nie no pewnie, że buzzer musi brzęczeć gdy mu podasz jedynkę - tak jak dioda <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> napisz który konkretnie fragment programu załącza ci tą jedynkę niby - a nie działa<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 cze 2012, o 10:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ledes]]></name></author>
<updated>2012-06-30T10:07:13+01:00</updated>
<published>2012-06-30T10:07:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8815#p8815</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8815#p8815"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8815#p8815"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Dlatego na forum, zawsze jest dobrze przypomnieć przy zakładaniu tematu, że posiadamy np zestaw uruchomieniowy ATB rev:1.0x albo że jakiś inny zestaw YYY albo że płytkę stykową i podłączamy coś tam - np buzzer w taki czy inny sposób.<br /><br />Nie każdy zawsze pamięta z innych postów że pytający działa na takiej czy innej platformie sprzętowej.<br /><br />Ja zdaje się pamiętam, że kolega ledes posiada zestaw ATB rev:1.03<br /></div><br />Zgadza się, moje niedopatrzenie. Już dodałem to w podpisie aby za każdym razem tego nie pisać a jeszcze pewnie nie jeden temat założę. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><strong><em>-- dodano 30 cze 2012, o 11:20 --</em></strong><br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />To wszystko w tym kodzie działa jak należy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... tylko<br /><br />Spróbuj sobie dużo krócej kliknąć palcem w ten klawisz który ma zmienić jego stan - wtedy okaże się że buzzer zmieni swój stan i będzie ładnie raz brzęczał a raz cicho<br /><br />jeśli zaś palca trzymasz za długo na przycisku to buzzer albo tylko piśnie krótko albo jeśli będziesz go cały czas trzymał ten klawisz to buzzer będzie cyklicznie piszczał - no właśnie i co ile czasu ? - co 80ms tyle ile masz ustawione niby tego _delay'a do eliminacji drgań styków<br /><br />Zaznaczam i przypominam, że to są początki i tylko takie hmmm super mega uproszczone wersje posługiwania się klawiszami. To nawet nie chodzi o drgania styków co niedługo wyjaśnię w mam nadzieję fajnym artykule na blogu , ale o te problemy - co by się działo gdybyś w ogóle wywalił  z tamtej funkcji _delay_ms(80); ... sprawdź sam wtedy przełączenie kliknięciem byłoby jakąś losową grą <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... tyle że niektórzy straszą na swoich blogach - że to te straszne dragania styków <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... ale to po prostu brak czasu oczekiwania<br /></div><br />Potem podłączę płytkę i sprawdzę. Ale interesuje mnie, dlaczego buzzer nie piszczy cały czas gdy podam mu jedynkę (w kodzie są uwzględnione drgania styków)? Bo jakoś nadal nie kumam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=355">Ledes</a> — 30 cze 2012, o 10:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-06-30T08:00:40+01:00</updated>
<published>2012-06-30T08:00:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8813#p8813</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8813#p8813"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8813#p8813"><![CDATA[
Dlatego na forum, zawsze jest dobrze przypomnieć przy zakładaniu tematu, że posiadamy np zestaw uruchomieniowy ATB rev:1.0x albo że jakiś inny zestaw YYY albo że płytkę stykową i podłączamy coś tam - np buzzer w taki czy inny sposób.<br /><br />Nie każdy zawsze pamięta z innych postów że pytający działa na takiej czy innej platformie sprzętowej.<br /><br />Ja zdaje się pamiętam, że kolega ledes posiada zestaw ATB rev:1.03<br /><br />więc mogę podpowiedzieć, że oczywiście w każdym zestawie ATB jest zainstalowany Buzzer z wbudowanym generatorem i w najnowszych zestawach jest on sterowany przez tranzystor. <br /><br />Dlatego śmiało można się w ten sposób bawić i używać buzzera do woli... po to on jest w zestawie. Nie ma żadnych ograniczeń ... co zaś się tyczy samego kodu...<br /><br /><strong><em>-- dodano 30 cze 2012, o 07:10 --</em></strong><br /><br />To wszystko w tym kodzie działa jak należy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... tylko<br /><br />Spróbuj sobie dużo krócej kliknąć palcem w ten klawisz który ma zmienić jego stan - wtedy okaże się że buzzer zmieni swój stan i będzie ładnie raz brzęczał a raz cicho<br /><br />jeśli zaś palca trzymasz za długo na przycisku to buzzer albo tylko piśnie krótko albo jeśli będziesz go cały czas trzymał ten klawisz to buzzer będzie cyklicznie piszczał - no właśnie i co ile czasu ? - co 80ms tyle ile masz ustawione niby tego _delay'a do eliminacji drgań styków<br /><br />Zaznaczam i przypominam, że to są początki i tylko takie hmmm super mega uproszczone wersje posługiwania się klawiszami. To nawet nie chodzi o drgania styków co niedługo wyjaśnię w mam nadzieję fajnym artykule na blogu , ale o te problemy - co by się działo gdybyś w ogóle wywalił  z tamtej funkcji _delay_ms(80); ... sprawdź sam wtedy przełączenie kliknięciem byłoby jakąś losową grą <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... tyle że niektórzy straszą na swoich blogach - że to te straszne dragania styków <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... ale to po prostu brak czasu oczekiwania<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 cze 2012, o 08:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sonix]]></name></author>
<updated>2012-06-30T07:45:24+01:00</updated>
<published>2012-06-30T07:45:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8810#p8810</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8810#p8810"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8810#p8810"><![CDATA[
Różnice między buzerem a buzerem z wbudowanym generatorem są znaczące a kolega Malutki opisał Ci działanie buzera bez wbudowanego generatora.<br />Z Twojego postu nie wynikało że zastosowałeś buzer z generatorem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Druga sprawa, czy buzerem sterujesz bezpośrednio z procka czy przez tranzystor?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=127">Sonix</a> — 30 cze 2012, o 07:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ledes]]></name></author>
<updated>2012-06-30T01:14:20+01:00</updated>
<published>2012-06-30T01:14:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8808#p8808</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8808#p8808"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8808#p8808"><![CDATA[
Przecież ten buzzer jest sterowany zero-jedynkowo...<br />Dymek? Co, z czego?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=355">Ledes</a> — 30 cze 2012, o 01:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2012-06-30T00:59:26+01:00</updated>
<published>2012-06-30T00:59:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8807#p8807</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8807#p8807"/>
<title type="html"><![CDATA[Re: Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8807#p8807"><![CDATA[
Ponieważ buzzer to taki głośnik ( oczywista oczywistość) , a głośnik odtwarza dźwiek, a dźwięk to napięcie o zmiennej amplitudzie, więc zostaw na razie buzzer i przerób lekcje z pwm a wtedy będzie można coś pokombinować z nim <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Bo przy takim podłączeniu to może ci z czegoś dymek póść ............<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=225">Malutki_27</a> — 30 cze 2012, o 00:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ledes]]></name></author>
<updated>2012-06-30T11:17:28+01:00</updated>
<published>2012-06-30T00:04:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8805#p8805</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8805#p8805"/>
<title type="html"><![CDATA[Buzzer i przyciski]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1216&amp;p=8805#p8805"><![CDATA[
Zmodyfikowałem kod z lekcji 2 z pierwszej książki Mirka, aby osiągnąć analogiczny efekt z buzzerem. Jednak naciśnięcie klawisza odpowiedzialnego za włączenie/zmianę stanu powoduje tylko krótkie piknięcie buzzerem. Co może być nie tak?<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<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 BUZ_ON PORTC |= BUZ_PIN;<br />#define BUZ_OFF PORTC &amp;= ~BUZ_PIN;<br />#define BUZ_TOG PORTC ^= BUZ_PIN;<br /><br />#define KEY1_PIN (1&lt;&lt;PC6)<br />#define KEY2_PIN (1&lt;&lt;PC5)<br />#define KEY3_PIN (1&lt;&lt;PC4)<br />#define KEY_DOWN !(PINC &amp; KEY_PIN)<br />#define BUZ_PIN (1&lt;&lt;PC3)<br /><br />uint8_t klawisz_wcisniety(uint8_t nr);// deklaracja funkcji<br /><br />// *************************************************** pętla główna main()<br />int main(void)<br />{<br />// ****** inicjalizacja *********<br />DDRC |= LED_PIN | BUZ_PIN;// kierunek pinu PC7 – wyjściowy<br />PORTC |= LED_PIN;// wyłączenie diody LED<br />PORTC &amp;= ~BUZ_PIN;<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(KEY3_PIN)) BUZ_ON;<br />if(klawisz_wcisniety(KEY2_PIN)) BUZ_OFF;<br />if(klawisz_wcisniety(KEY1_PIN)) BUZ_TOG;<br />}<br />}<br />//******************************************************** koniec main()<br /><br />// definicja funkcji<br />uint8_t klawisz_wcisniety(uint8_t nr)<br />{<br />if(!( PINC &amp; nr))// klawisz wciśnięty ?<br />{<br />_delay_ms(80);// czas drgań styków<br />if( !(PINC &amp; nr)) 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=355">Ledes</a> — 30 cze 2012, o 00:04</p><hr />
]]></content>
</entry>
</feed>