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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2022-02-08T16:52:59+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=24136&amp;mode</id>
<entry>
<author><name><![CDATA[Kaz K]]></name></author>
<updated>2022-02-08T16:52:59+01:00</updated>
<published>2022-02-08T16:52:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235026#p235026</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235026#p235026"/>
<title type="html"><![CDATA[Re: Enkoder i Callbacki problem z procedurą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235026#p235026"><![CDATA[
Dziękuje Mirku bo mnie oświeciłeś . Jak  sobie głowę nabiłem że muszę użyć get encoder a później tak namieszałem że horror <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" /><br />Toż to najprostsze jakie może być (poniżej kod) ale ja już tak mam że sprawy trudne rozwiązuje a przy prostych kombinuje jak &quot;kuń po góre&quot;.<br />Dziękuję jeszcze raz za wyprostowanie.<br /><br /> [syntax=c]void enkoderek (void ) {<br />if (enco_dir == ENC_RIGHT )<br /> zmienna ++;<br />else<br />zmienna --;<br /><br />if (zmienna &gt;= 450)<br />zmienna = 450;<br />if (zmienna &lt; 250)<br /> zmienna = 250;[/syntax]<br /><br />A tak na marginesie może kiedyś zrobisz mini poradnik o PID bo to co w sieci to często makabra.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=20460">Kaz K</a> — 8 lut 2022, o 16:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2022-02-08T12:06:24+01:00</updated>
<published>2022-02-08T12:06:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235020#p235020</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235020#p235020"/>
<title type="html"><![CDATA[Re: Enkoder i Callbacki problem z procedurą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235020#p235020"><![CDATA[
No to zastanów się - bo wprowadzasz sam i sobie i tutaj mega zamieszanie. Najpierw piszesz o swojej zmiennej - o nazwie &quot;zmienna&quot; którą sam inkrementujesz albo dekrementujesz - choć nie wiadomo po jasny gwincik przy inkrementacji stosujesz zmienna + getencoder() a przy dekrementacji zmienna - 1 ... no to jest już pierwszy strzał we własną stopę dla przejrzystości kodu<br /><br />Później piszesz że warunek if nie działa <br /><br />Później że już działa ale nie zmienia się dobrze zmienna podawana przez get_encoder() ... to w końcu o którą zmienną tobie chodzi ? Toż get_encoder podaje ci zawsze zawartość wewnętrznego licznika a nie twojej zmiennej &quot;zmienna&quot; - czemu żesz skoro bawisz się sowją zmienną to jej nie wyświetlacz w lcd_int() ? <br /><br />A jeśli już chcesz pracować na liczniku wewnętrznym w bibliotece to nie mów mi że w pliku nagłówkowym widzisz TYLKO funkcję get_encoder() a nie widzisz funkcji set_encoder() ... jak myślisz do czego jest ta druga ? No właśnie do ustawiania ale w bezpieczny sposób wartości wewn licznika. Tylko musisz się zdecydować którego chcesz używać - bo równie dobrze możesz używać swojej zmiennej ale to ją wyświetlaj albo używaj tylko wbudowanego licznika ale wtedy używaj odpowiednich funkcji do jego pobierania albo ustawiania (czyli ograniczania)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 lut 2022, o 12:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kaz K]]></name></author>
<updated>2022-02-07T19:40:52+01:00</updated>
<published>2022-02-07T19:40:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235009#p235009</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235009#p235009"/>
<title type="html"><![CDATA[Re: Enkoder i Callbacki problem z procedurą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235009#p235009"><![CDATA[
Oto kod.<br />Ograniczenie działa ok tylko problem okazuje się z wartością enco_cnt po przekroczeniu wartości -20 i + 20 nie od razu zmniejsza lub zwiększa zmienna a dopiero po osiągnięciu tej różnicy 20. Jak to ogarnąć by działało od razu.<br /><br />[syntax=c]void enkoderek (void ) {<br /><br />if (enco_dir == ENC_RIGHT )<br /> zmienna =  zmienna1 + get_encoder();<br />else<br />zmienna = zmienna - 1;<br /><br />if (zmienna &gt;= 320)<br />zmienna = 320 ;<br />if (zmienna &lt; 280)<br /> zmienna = 280;<br /><br />lcd_locate (0,0);<br />lcd_str_P( PSTR (&quot;T ust =&quot;));<br />lcd_int (zmienna);<br /><br />lcd_locate (1,0);<br />lcd_str_P( PSTR (&quot;enco cnt =&quot;));<br />lcd_int (get_encoder());<br />lcd_str_P( PSTR(&quot;  &quot;));<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=20460">Kaz K</a> — 7 lut 2022, o 19:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2022-02-07T15:17:56+01:00</updated>
<published>2022-02-07T15:17:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235007#p235007</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235007#p235007"/>
<title type="html"><![CDATA[Re: Enkoder i Callbacki problem z procedurą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235007#p235007"><![CDATA[
<div class="quotetitle">Kaz K napisał(a):</div><div class="quotecontent"><br />To by było zbyt proste, po dodaniu if rozwala całą regulacje.<br /></div><br />No i jak tu komuś pomóc - na takie stwierdzenia - zamiast pokazania własnego kodu po modyfikacji ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 7 lut 2022, o 15:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kaz K]]></name></author>
<updated>2022-02-07T15:01:35+01:00</updated>
<published>2022-02-07T15:01:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235006#p235006</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235006#p235006"/>
<title type="html"><![CDATA[Re: Enkoder i Callbacki problem z procedurą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=235006#p235006"><![CDATA[
To by było zbyt proste,  po dodaniu if rozwala całą regulacje. Popełniłem pewnie  jakiś błąd w sposobie regulacji tylko nie umiem tego rozgryźć.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=20460">Kaz K</a> — 7 lut 2022, o 15:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2022-02-06T23:39:14+01:00</updated>
<published>2022-02-06T23:39:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=234996#p234996</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=234996#p234996"/>
<title type="html"><![CDATA[Re: Enkoder i Callbacki problem z procedurą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=234996#p234996"><![CDATA[
Dodajesz warunek IF, czyli po wyliczeniu zmiennej, jeśli jest wyższa od 500, to zmienna = 500 a jeśli jest mniejsza od 200 to zmienna = 200, jeśli ci o to chodzi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 6 lut 2022, o 23:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kaz K]]></name></author>
<updated>2022-02-06T21:34:55+01:00</updated>
<published>2022-02-06T21:34:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=234994#p234994</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=234994#p234994"/>
<title type="html"><![CDATA[Enkoder i Callbacki problem z procedurą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24136&amp;p=234994#p234994"><![CDATA[
Witam. <br />Trenuje działanie encodera z poradnika Mirka i już wydawało mi się że wszystko rozumiem ale niestety pełna klapa.<br />Podpowiedzcie jak to wywołanie callbecka napisać i wykonać poprawnie przy założeniu:<br />startujemy od wartości 'zmienna1= 300'  <br />-jak ograniczyć wartość regulowania 'zmienna' od dołu wartością 200 a górna max 500<br />Nie potrafię nic wymyślić (2 lata nic nie robiłem przy avr i sporo wyparowało ), pewnie zupełnie źle do tego podszedłem ale może &quot;ktuś cuś&quot; pomoże  <img src="https://forum.atnel.pl/images/smilies/icon_question.gif" alt=":?:" title="Znak zapytania" /> .<br /><br /><br />/[syntax=c]uint16_t zmienna1=300;           //wartość poczatkowa<br /><br /><br />void enkoderek (void ) {                            //procedura wywołana callbackiem<br />if (enco_dir == ENC_RIGHT )<br />zmienna =  zmienna1 + get_encoder();<br />else<br />zmienna = zmienna - 1;<br /><br />lcd_locate (0,0);<br />lcd_str_P( PSTR (&quot;T ust =&quot;));<br />lcd_int (zmienna);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=20460">Kaz K</a> — 6 lut 2022, o 21:34</p><hr />
]]></content>
</entry>
</feed>