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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2021-08-24T19:47:30+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=23874&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-08-24T19:47:30+01:00</updated>
<published>2021-08-24T19:47:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233327#p233327</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233327#p233327"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233327#p233327"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Mam nadzieję, że nie namieszałem tym wpisem?<br /></div><br />Ale dlaczego miałeś namieszać ? Po to jest forum żeby sobie podyskutować i czasem zwrócić uwagę na inne rozwiązanie czy podejście <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> — 24 sie 2021, o 19:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2021-08-24T17:19:21+01:00</updated>
<published>2021-08-24T17:19:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233324#p233324</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233324#p233324"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233324#p233324"><![CDATA[
Masz rację, Mirku, źle to sformułowałem. Może ja źle zrozumiałem autora wątku, ale to miało być odniesienie do tego fragmentu:<div class="quotetitle">11jacekj napisał(a):</div><div class="quotecontent"><br />key_kock miał wartość 1 po wciśnięciu przycisku i dodatkowo jest preinkrementowany czyli ma wartość 2 ale po zanegowaniu ma wartość 0. I z mojego myślenia wychodzi żeby warunek był spełniony to key_kock w drugim ifie musiał by mieć wartość -1 wtedy po inkrementacji i zanegowaniu miał by wartość 1. Proszę wytłumaczcie mi jak to działa bo najwyraźniej źle myślę.<br /></div>I jeszcze do wypowiedzi w jednym z kolejnych wpisów:<div class="quotetitle">11jacekj napisał(a):</div><div class="quotecontent"><br />jeżeli key_lock zostaje zwiększone o JEDEN to zawsze będzie TRUE. jeżeli w kolejnym kroku zostanie zanegowane to otrzymamy FALSE. Czyli warunek nie zostanie spełniony.<br /></div>Zrozumiałem to tak, że autor (11jacekj) zrozumiał, że wynik negacji jest przypisany do zmiennej key_lock, co nie jest prawdą. Bo, tak jak piszesz, zmienna jest inkrementowana i wynik inkrementacji jest przypisany do zmiennej, natomiast negacja zmiennej key_lock nie jest przypisana do zmiennej, ten wynik jest brany pod uwagę tylko w ifie (dokładnie tak, jak wyjaśniłeś).<br />Mam nadzieję, że nie namieszałem tym wpisem?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 24 sie 2021, o 17:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-08-19T09:21:41+01:00</updated>
<published>2021-08-19T09:21:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233289#p233289</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233289#p233289"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233289#p233289"><![CDATA[
<div class="quotetitle">Marhef napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">11jacekj napisał(a):</div><div class="quotecontent">Ja to co jest w nawiasie rozumiem jako key_lock zwiększ o JEDEN i zaneguj<br /></div>Ja się jeszcze do tego odniosę. To nie do końca jest &quot;zwiększ o 1 i zaneguj&quot;. To jest &quot;zwiększ o 1 i sprawdź, czy nie jest FALSE&quot;. Operator '!' nie neguje zmiennej (od negacji jest '~')</div><br /><br />No nie do końca tak jak piszesz ... dlaczego?<br /><br />Pomyśl sobie - warunek IF( wyrażenie ) ...<br /><br />sprawdza ZAWSZE CAŁE WYRAŻENIE, czy jest ono TRUE czy FALSE, a więc jeśli wyrażeniem jest jakieś działanie, to najpierw trzeba je zrealizować, a zatem<br /><br />1. zwiększ wartość zmiennej o JEDEN<br />2. ZANEGUJ tę wartość po zwiększeniu<br /><br />3. WYNIK wyrażenia będzie wzięty pod uwagę przez IF<br /><br />Wykrzyknik to operator negacji ale LOGICZNEJ a nie bitowej, dlatego nie ważne czy w zmiennej masz liczbę 1, 4 czy 237 to po zanegowaniu przyjmie wartość FALSE, a TYLKO w jednym przypadku przyjmie wartość TRUE, gdy zmienna osiągnie wartość zero.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 19 sie 2021, o 09:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2021-08-18T22:34:20+01:00</updated>
<published>2021-08-18T22:34:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233286#p233286</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233286#p233286"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233286#p233286"><![CDATA[
<div class="quotetitle">11jacekj napisał(a):</div><div class="quotecontent"><br />Ja to co jest w nawiasie rozumiem jako key_lock zwiększ o JEDEN i zaneguj<br /></div>Ja się jeszcze do tego odniosę. To nie do końca jest &quot;zwiększ o 1 i zaneguj&quot;. To jest &quot;zwiększ o 1 i sprawdź, czy nie jest FALSE&quot;. Operator '!' nie neguje zmiennej (od negacji jest '~')<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 18 sie 2021, o 22:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-08-05T13:02:24+01:00</updated>
<published>2021-08-05T13:02:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233168#p233168</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233168#p233168"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233168#p233168"><![CDATA[
<div class="quotetitle">11jacekj napisał(a):</div><div class="quotecontent"><br />To powiedz chociaż czy dasz listę komend AT z polskim opisem.<br /></div><br />No a jak może być inaczej ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Do ATNEL WIFI232-T nie było w wersji PL ? Było - tak i tu będzie ! <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... ale to pikuś w porównaniu do opisu w PL <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> w porównaniu do tego co będzie poza tym ... na razie tylko tak mogę powiedzieć <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> — 5 sie 2021, o 13:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[11jacekj]]></name></author>
<updated>2021-08-05T12:26:35+01:00</updated>
<published>2021-08-05T12:26:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233166#p233166</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233166#p233166"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233166#p233166"><![CDATA[
To powiedz chociaż czy dasz listę komend AT z polskim opisem. I na tym kończę moje pytanie o ESP w tym temacie, bo to nie to  miejsce.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12856">11jacekj</a> — 5 sie 2021, o 12:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-08-05T12:11:13+01:00</updated>
<published>2021-08-05T12:11:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233163#p233163</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233163#p233163"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233163#p233163"><![CDATA[
<div class="quotetitle">11jacekj napisał(a):</div><div class="quotecontent"><br />Którą wersję polecił byś mi kupić, tak żeby była kompatybilna z tym co planujesz?<br /></div><br /><br />Proponuję przed zakupem poczekać na start tej akcji - bo już w pierwszym poradniku wideo będę przede wszystkim wyjaśniał cały ten mętlik z ogromną ilością i różnorakich modułów ESP - że człowiek jak ma zacząć to nie wie co wybrać i w co ręce włożyć no nie ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Ja też tak miałem 2-3 miesiące temu - że aż kociej mordy dostałem <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> .... dlatego szkoda że nie mogłem trafić nigdzie na taki poradnik wideo czy pisany - jaki ja teraz zrobię - bo MNÓSTWO ci się wyjaśni - zobaczysz - więc spokojnie czekaj - proponuję śmiało<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 5 sie 2021, o 12:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[11jacekj]]></name></author>
<updated>2021-08-05T11:45:30+01:00</updated>
<published>2021-08-05T11:45:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233159#p233159</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233159#p233159"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233159#p233159"><![CDATA[
No tak, to oczywiste, zdałem sobie sprawę przy analizowaniu tego programu że po 255 będzie 0. ale nie dopuszczałem do głowy że to o to chodzi, coś mnie przyblokowało i nie zrobiłem kolejnego kroku do przodu. Przepraszam. Mózg zamknąłem w Mrokach Średniowiecza, dziś zapomniałem logi i hasło do najważniejszego programu u mnie w pracy.<br />Wiem że szykujesz rewelację w ESP, może nie wiele się udzielam na forum ale czytam na bieżąco <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" />.<br />A jeszcze wtrącę pytanie o ESP. Od jakiegoś czasu chodzi za mną żeby kupić do potestowania, pobawienia się, trochę już poczytałem. Którą wersję polecił byś mi kupić, tak żeby była kompatybilna z tym co planujesz?<br /><img src="https://www.google.com/url?sa=i&amp;url=https%3A%2F%2Fdomoticz.info%2F10-aktualnosci%2F11-esp8266-wersja-nodemcu&amp;psig=AOvVaw2nRwTUQWu8tMSoj0fuZpvM&amp;ust=1628247784443000&amp;source=images&amp;cd=vfe&amp;ved=0CAsQjRxqFwoTCIjzi-ndmfICFQAAAAAdAAAAABAk" alt="Obrazek" /> ta chyba jest najbardziej wypasiona przynajmniej w wyglądu i opisu pinów ale nie wiem czy się nadaje do czegokolwiek.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12856">11jacekj</a> — 5 sie 2021, o 11:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-08-05T11:16:41+01:00</updated>
<published>2021-08-05T11:16:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233156#p233156</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233156#p233156"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233156#p233156"><![CDATA[
<div class="quotetitle">11jacekj napisał(a):</div><div class="quotecontent"><br />Za chwilę wyrwę sobie ostatniego włosa. Albo jestem jakiś ostatni matoł.<br /></div><br />a przestań <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> czasem się człowiek zatnie i co zrobić  - ja też tak mam - szczególnie teraz gdy po raz pierwszy piszę softy do ESP <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><div class="quotetitle">11jacekj napisał(a):</div><div class="quotecontent"><br />bo w związku z powyższym rozumiem to tak: jeżeli key_lock zostaje zwiększone o JEDEN to zawsze będzie TRUE.<br /></div><br />Tu ci zabrakło już tylko &quot;jednego patyczka&quot; <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> ... Pomyśl, key_lock będzie wciąż zwiększany o JEDEN .. i wg ciebie ZAWSZE będzie większy od zera ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... a co się stanie wg ciebie gdy już dojdzie do wartości 255 ( a PAMIĘTAJ że to zmienna 8-bitowa!) ... i zwiększy się jej wartość o JEDEN - to ILE BĘDZIE panie kochany ? no ile ?<br /><br /><img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... TAK! w końcu będzie upragnione ZERO które po zanegowaniu da oczekiwane TRUE !!! <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> — 5 sie 2021, o 11:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[11jacekj]]></name></author>
<updated>2021-08-05T09:10:17+01:00</updated>
<published>2021-08-05T09:10:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233155#p233155</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233155#p233155"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233155#p233155"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />a zatem NAJPIERW zmienna key_lock zostanie zwiększona o JEDEN, następnie zostanie zanegowana za pomocą wykrzyknika i dopiero to wyrażenie (ta wartość) będzie brana pod uwagę w IF()<br /></div><br /> <img src="https://forum.atnel.pl/images/smilies/icon_neutral.gif" alt=":|" title="Średnio zadowolony" /> Już mi się chyba cos z głową dzieje, bo w związku z powyższym rozumiem to tak: jeżeli key_lock zostaje zwiększone o JEDEN to zawsze będzie TRUE. jeżeli w kolejnym kroku zostanie zanegowane to otrzymamy FALSE. Czyli warunek nie zostanie spełniony.<br />Za chwilę wyrwę sobie ostatniego włosa. Albo jestem jakiś ostatni matoł.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12856">11jacekj</a> — 5 sie 2021, o 09:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-08-05T08:51:22+01:00</updated>
<published>2021-08-05T08:51:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233154#p233154</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233154#p233154"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233154#p233154"><![CDATA[
<div class="quotetitle">11jacekj napisał(a):</div><div class="quotecontent"><br />A z tego co Mirku piszesz powinienem to odczytać jako: &quot;zwiększ o JEDEN i sprawdź czy jest różne od ZERA&quot;?<br /></div><br />Bo DOKŁADNIE tak jest <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> pewnie zapomniało ci się o tym jak działają dwuczłonowe operatory ++ albo -- w PRE-INKREMENTACJI albo PRE-DEKREMENTACJI ... co masz opisane w Bluebooku ... więc krótko przypomnę ale sięgnij do BB żeby więcej doczytać<br /><br />[syntax=c]++a;  // to PREINKREMENTACJA czyli a NAJPIERW będzie zwiększone o JEDEN a dopiero później ta zwiększona wartość będzie brana do dalszych działań[/syntax]<br /><br />[syntax=c]a++; // to POSTINKREMENTACJA czyli najpierw wartość a będzie wzięta do dalszych działań a po tym zostanie zwiększona wartość a o JEDEN[/syntax]<br />w związku z powyższym chyba już widzisz, że w warunku<br /><br />[syntax=c]if( !++key_lock )[/syntax]<br /><br />masz do czynienia z PRE-INKREMENTACJĄ a nie POST-INKREMENTACJĄ, a zatem NAJPIERW zmienna key_lock zostanie zwiększona o JEDEN, następnie zostanie zanegowana za pomocą wykrzyknika i dopiero to wyrażenie (ta wartość) będzie brana pod uwagę w IF()<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 5 sie 2021, o 08:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[11jacekj]]></name></author>
<updated>2021-08-05T05:09:14+01:00</updated>
<published>2021-08-05T05:09:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233153#p233153</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233153#p233153"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233153#p233153"><![CDATA[
Oczywiście że warunek nie pętla, nie wiem dlaczego tak napisałem. Przepraszam za to. W takim razie źle zrozumiałem ten warunek po else:[syntax=c]if( !++key_lock )[/syntax]<br />Ja to co jest w nawiasie rozumiem jako key_lock zwiększ o JEDEN i zaneguj. A z tego co Mirku piszesz powinienem to odczytać jako: &quot;zwiększ o JEDEN i sprawdź czy jest różne od ZERA&quot;?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12856">11jacekj</a> — 5 sie 2021, o 05:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-08-04T23:15:57+01:00</updated>
<published>2021-08-04T23:15:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233151#p233151</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233151#p233151"/>
<title type="html"><![CDATA[Re: !++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233151#p233151"><![CDATA[
<div class="quotetitle">11jacekj napisał(a):</div><div class="quotecontent"><br />Wybaczcie mi proszę, nie jestem w stanie zrozumieć tej pętli<br /></div><br />Spokojnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> wybaczamy - ale przede wszystkim TO nie jest pętla tylko WARUNEK IF ... a to spora róznica - także dla ciebie w myśleniu<br /><br /><div class="quotetitle">11jacekj napisał(a):</div><div class="quotecontent"><br />Dla mnie to wygląda tak: w pierwszym ifie sprawdzam czy przycisk jest wciśnięty, jeżeli jest to<br /></div><br />tu dobrze myślisz<br /><br /><div class="quotetitle">11jacekj napisał(a):</div><div class="quotecontent"><br />jeżeli nie jest to wychodzi program z pętli.<br /></div><br />No a tu już mieszasz sobie i plączesz że aż strach ...<br /><br />z jakiej pętli wychodzi ? Z głównej pętli programu while(1) { } ...  ???? zobacz jak to opisałeś i pomyśl<br /><br />nie, tu nie wychodzi z żadnej pętli tylko po else - zwiększa się key o JEDEN i jednocześnie jest sprawdzane czy nie jest równe zero !++key_lock w czasie gdy key_lock ma wartość pomiędzy 1 a 255 i gdy przycisk jest już zwolniony  else if( key_lock &amp;&amp; (PINC &amp; KEY1 ) ) {<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 4 sie 2021, o 23:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[11jacekj]]></name></author>
<updated>2021-08-04T20:16:18+01:00</updated>
<published>2021-08-04T20:16:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233150#p233150</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233150#p233150"/>
<title type="html"><![CDATA[!++key_lock nie rozumiem tego warunku.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23874&amp;p=233150#p233150"><![CDATA[
Witam. Czytałem dziś na blogu Mirka artykuł o drganiu styków <a href="http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-drgania-stykow-cd2.html"  class="postlink">http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-drgania-stykow-cd2.html</a>. Jest tam jeden taki kod [syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 2012-10-05<br /> *       Autor: Mirosław Kardaś<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /> <br />#define LED (1&lt;&lt;PC5)<br />#define KEY1 (1&lt;&lt;PC7)<br /> <br />uint8_t key_lock;<br /> <br />//**************** ZWOLNIENIE PRZYCISKU - push_up<br /> <br />int main(void) {<br /> <br /> PORTC |= KEY1;  // podciągamy linie klawiszy do VCC<br /> DDRC |= LED;   // pin LED jako WYjście<br /> <br /> _delay_ms(10);<br /> <br /> while(1) {<br /> <br />  if( !key_lock &amp;&amp; !(PINC &amp; KEY1 ) ) key_lock=1;<br />  else if( key_lock &amp;&amp; (PINC &amp; KEY1 ) ) {<br />   if( !++key_lock ) {<br /> <br />    // reakcja na PUSH_UP (zwolnienie przycisku)<br />    PORTC ^= LED;<br />   }<br />  }<br /> <br /> }<br /> <br />}[/syntax]<br />Zwolnienie przycisku ma zmieniać stan diody LED. Wybaczcie mi proszę, nie jestem w stanie zrozumieć tej pętli[syntax=c]if( !key_lock &amp;&amp; !(PINC &amp; KEY1 ) ) key_lock=1;<br />  else if( key_lock &amp;&amp; (PINC &amp; KEY1 ) ) {<br />   if( !++key_lock ) {<br /> <br />    // reakcja na PUSH_UP (zwolnienie przycisku)<br />    PORTC ^= LED;<br />   }<br />  }[/syntax]<br />Dla mnie to wygląda tak: w pierwszym ifie sprawdzam czy przycisk jest wciśnięty, jeżeli jest to [syntax=c]key_lock=1;[/syntax] jeżeli nie jest to wychodzi program z pętli. Jeżeli jest wciśnięty i trzymany to też program wychodzi z pętli.<br />Ale jeżeli był wciśnięty i jest puszczony to: to jest sprawdzany drugi if ten po else. W nim warunek zwraca TRUE bo key_lock po wciśnięciu przycisku przycisku przyjął wartość 1 a skoro jest puszczony to [syntax=c](PINC &amp; KEY1 )[/syntax] też daje 1, w związku z tym przechodzimy do kolejnego ifa. A w jego warunku [syntax=c]( !++key_lock )[/syntax] key_kock miał wartość 1 po wciśnięciu przycisku i dodatkowo jest preinkrementowany czyli ma wartość 2 ale po zanegowaniu ma wartość 0. I z mojego myślenia wychodzi żeby warunek był spełniony to key_kock w drugim ifie musiał by mieć wartość -1 wtedy po inkrementacji i zanegowaniu miał by wartość 1. Proszę wytłumaczcie mi jak to działa bo najwyraźniej źle myślę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12856">11jacekj</a> — 4 sie 2021, o 20:16</p><hr />
]]></content>
</entry>
</feed>