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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-03-11T11:43:03+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=55&amp;t=14656&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-03-11T11:43:03+01:00</updated>
<published>2017-03-11T11:43:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184606#p184606</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184606#p184606"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184606#p184606"><![CDATA[
<div class="quotetitle">sq8dsr napisał(a):</div><div class="quotecontent"><br />A jak muszę wspomnieć o dodatkowym efekcie który objawił się jako &quot;skutek uboczny&quot; biblioteki<br /></div><br />No proszę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... warto bo to też ważna technika programowania jak widać<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 mar 2017, o 11:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2017-03-11T11:23:23+01:00</updated>
<published>2017-03-11T11:23:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184602#p184602</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184602#p184602"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184602#p184602"><![CDATA[
A jak muszę wspomnieć o dodatkowym efekcie który objawił się jako &quot;skutek uboczny&quot; biblioteki <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Mianowicie przekonałem się w końcu do stosowania warunków preprocesora i kompilacji warunkowej.<br />Przerabiam obecnie bibliotekę do możliwość obsługi dwóch enkoderów <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Założenie jest takie, że ma obsługiwać dwa enkodery, ale nawet żeby to mogły być enkodery różne np. half i full.<br /><br />Przepisywanie z poradnika ma jednak spore zalety hehehe <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 11 mar 2017, o 11:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2017-03-07T08:44:18+01:00</updated>
<published>2017-03-07T08:44:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184217#p184217</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184217#p184217"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184217#p184217"><![CDATA[
<div class="quotetitle">matw napisał(a):</div><div class="quotecontent"><br />Druga sprawa, to sprawdź tą linijkę w encoder_proc(), bo jakby brakuje ci nawiasów i wg. mnie to może być kluczowe:<br /></div><br />hahaha, no i nie ma to jak świerze oko, głupi błąd. Dzięki kolego, wielkie.<br />Oczywiście to była kluczowa sprawa. Widać zbyt długo gapiłem się w ten kod i się już znieczuliłem na błędy <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br />Oczywiście teraz działa wszystko bardzo dobrze. Zarówno na enkoderze pełno jak i półkrokowym. <br />Teraz muszę rozbudować bibliotekę, żeby można była zdefiniować i obsłużyć jednocześnie dwa enkodery.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 7 mar 2017, o 08:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-03-06T18:53:12+01:00</updated>
<published>2017-03-06T18:53:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184182#p184182</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184182#p184182"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184182#p184182"><![CDATA[
<div class="quotetitle">matw napisał(a):</div><div class="quotecontent"><br />bo jakby brakuje ci nawiasów i wg. mnie to może być kluczowe:<br /></div><br />i to jest kluczowe bo bez nawiasów to leci sieczkarnia jeśli chodzi o wyrażeni warunkowe ?: .... jedno łączy się z drugim w nieodpowiednim miejscu<br /><br />ale wartości w tablicach to też klucz <br /><br />No! panie matw ! .... otrzymujesz tytuł SOKOLE OKO <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=54">mirekk36</a> — 6 mar 2017, o 18:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matw]]></name></author>
<updated>2017-03-06T18:17:45+01:00</updated>
<published>2017-03-06T18:17:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184179#p184179</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184179#p184179"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184179#p184179"><![CDATA[
@sq8dsr, przyjrzałem się wstawce którą zamiesiłeś i porównałem ze swoim kodem.<br />Ja mam tylko enkoder pełnokrokowy i z nim biblioteka napisana z poradników Mirka działa wyśmienicie.<br /><br />Znalazłem dwie rozbieżności, które mogą mieć wpływ na twoje problemy.<br />Tablica dla połkrokowego wygląda ok, natomiast dla pełnokrokowego jest mała różnica w stosunku do mnie, jedna wartość u Ciebie jest 0x05, a ja mam 0x00, mój kod:<br />[syntax=c]const uint8_t encoder_tab&#91;7&#93;&#91;4&#93; PROGMEM = {<br />{0x00, 0x02, 0x04, 0x00}, {0x03, 0x00, 0x01, 0x10},<br />{0x03, 0x02, 0x00, 0x00}, {0x03, 0x02, 0x01, 0x00},<br />{0x06, 0x00, 0x04, 0x00}, {0x06, 0x05, 0x00, 0x20},<br />{0x06, 0x05, 0x04, 0x00}<br />};[/syntax]<br />Druga sprawa, to sprawdź tą linijkę w encoder_proc(), bo jakby brakuje ci nawiasów i wg. mnie to może być kluczowe:<br />[syntax=c]register uint8_t ABstate = ( (pin &amp; ENCODER_B)? 2 : 0 ) | ( (pin &amp; ENCODER_A)? 1 : 0 );[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2394">matw</a> — 6 mar 2017, o 18:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2017-03-06T09:07:47+01:00</updated>
<published>2017-03-06T09:07:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184158#p184158</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184158#p184158"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184158#p184158"><![CDATA[
W celach diagnostyki wyświetlam na lcd wartości, które pobierane są z tablicy enc_tab. Czyli wartość zmiennej enc_stat (z funkcji encoder_proc)<br />Nie wiem czemu ale nie otrzymuję wartości typu 0x13, 0x20, 0x23, generalnie tych wartości które &quot;sięgają&quot; do starszej połówki bajtu i po operacji:<br />ABstate = (enc_stat &amp; 0x30); <br />dają wartości niezerowe (np. 0x10).<br /><br />oto moje tablice:<br />[syntax=c]//encoder półkrokowy<br />const uint8_t enc_tab&#91;6&#93;&#91;4&#93; PROGMEM = {<br />        {0x3, 0x2, 0x1, 0x0}, {0x23, 0x0, 0x1, 0x0},<br />        {0x13, 0x2, 0x0, 0x0}, {0x3, 0x5, 0x4, 0x0},<br />        {0x3, 0x3, 0x4, 0x10}, {0x3, 0x5, 0x3, 0x20}<br />};[/syntax]<br /><br />[syntax=c]//encoder pełnokrokowy<br />const uint8_t enc_tab&#91;7&#93;&#91;4&#93; PROGMEM = {<br />        {0x0, 0x2, 0x4, 0x0}, {0x3, 0x0, 0x1, 0x10},<br />        {0x3, 0x2, 0x0, 0x0}, {0x3, 0x2, 0x1, 0x0},<br />        {0x6, 0x5, 0x4, 0x0}, {0x6, 0x5, 0x0, 0x20},<br />        {0x6, 0x5, 0x4, 0x0}<br />};[/syntax]<br /><br />i funkcja obsługująca tablicowane przeliczanie kroków:<br />[syntax=c]void enkoder_proc (void) {<br />    static uint8_t enc_stat;<br />    register uint8_t pin = ENC_AB_PIN;<br />    register uint8_t ABstate = ( (pin&amp;ENC_B)?2:0 | (pin&amp;ENC_A)?1:0 );<br />    enc_stat = pgm_read_byte( &amp;enc_tab&#91;enc_stat &amp; 0x0f&#93;&#91;ABstate&#93; ); <br />    ABstate = ( enc_stat &amp; 0x30 ); //po tej operacji wartości ABstate są ciągle równe zero więc późniejszy if się nie wykonuje. <br />    if ( ABstate ){   <br />        enco_dir = ABstate;<br />        if (ABstate == ENC_RIGHT) enco_cnt++;<br />        else enco_cnt--;<br />        enco_flag = 1;<br />    }<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 6 mar 2017, o 09:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MikieMan]]></name></author>
<updated>2017-03-06T07:33:15+01:00</updated>
<published>2017-03-06T07:33:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184153#p184153</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184153#p184153"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184153#p184153"><![CDATA[
To ja mogę tylko napisać, że także jestem po przepisaniu biblioteki z poradników i działa po prostu miodnie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /><br />Ja mam encoder pełnokrokowy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3503">MikieMan</a> — 6 mar 2017, o 07:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2017-03-05T23:05:39+01:00</updated>
<published>2017-03-05T23:05:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184144#p184144</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184144#p184144"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=184144#p184144"><![CDATA[
Cześć<br /><br />Staram się właśnie od kilku godzin ogarnąć bibliotekę Mirka do enkoderów. <br />Mam całą przepisaną. Co więcej nawet dokonałem jej analizy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Tzn chodzi mi o mechanizm tablicowania (callbacki chyba się po warsztatach dobrze wryły).<br />No i mam zagwozdkę. <br />Testuję dwa enkodery, na zestawie ATB:<br />Na razie na INT0 i INT1<br />pełnokorokowy:<br />11 - tryk<br />01<br />00<br />10<br />11 - tryk <br /><br />i chyba półkrokowy:<br />11 - tryk<br />01<br />00 - tryk<br />10<br />11 - tryk<br /><br />Bibliotekę przepisałem dokładnie, zresztą analizując ją, nie widzę błędów, wszystko wydaje się być spójne.<br />ale jest problem:<br /><br />Otóż na półkrokowym zdarzenie ENCODER_EVENT, przy pierwszym pokręceniu (po resecie) wykonuje się jeden raz następnie przestaje reagować.<br />Przerwania działają.<br />Funkcja encoder_proc nie chce już poraz kolejny ustawić flagi enco_flag.<br />Analizuję jakie wartości są pobierane z tablicy enc_tab przy kolejnych stanach ABstate (pinów encodera) i wydaje się, że powinno być ok.<br />Wszystko się kompiluje bez błędu.<br /><br />Pełnokrokowy nie reaguje w ogóle (oczywiście przestawiam definicję w pliku .h).<br /><br />Na razie nie wstawiam kodu, może ktoś miał podobnie, to musi być jakiś głupi błąd....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 5 mar 2017, o 23:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-12-22T08:07:08+01:00</updated>
<published>2016-12-22T08:07:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=178087#p178087</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=178087#p178087"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=178087#p178087"><![CDATA[
<div class="quotetitle">damian29 napisał(a):</div><div class="quotecontent"><br />Rozpisałem enc_tab na kartce i przeanalizowałem na spokojnie<br /></div><br />Zawsze to polecam <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> w wielu poradnikach ... to musi pomóc <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> — 22 gru 2016, o 08:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[damian29]]></name></author>
<updated>2016-12-21T22:49:57+01:00</updated>
<published>2016-12-21T22:49:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=178075#p178075</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=178075#p178075"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=178075#p178075"><![CDATA[
I własnie już do tego doszedłem. Rozpisałem enc_tab na kartce i przeanalizowałem na spokojnie jak te indeksy się zmieniają w zaleznosci od ABstat i jest tak jak mówisz. <br /><br />Enkoder już liczy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Dzięki za zainteresowanie w sumie błahym problemem. <br /><br />Pozdrawiam i Wesołych Swiąt <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=15642">damian29</a> — 21 gru 2016, o 22:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2016-12-20T20:11:56+01:00</updated>
<published>2016-12-20T20:11:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=177999#p177999</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=177999#p177999"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=177999#p177999"><![CDATA[
A co to jest ABstate w drugim indeksie?<br />Natomiast pierwszy indeks to 4 młodsze bity zmiennej enc_stat które się przecież zmienia bo po każdym &quot;tyknięciu&quot; przypisujesz mu właśnie nową wartość w zależności od starej wartości i ABstate<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 20 gru 2016, o 20:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[damian29]]></name></author>
<updated>2016-12-20T17:36:02+01:00</updated>
<published>2016-12-20T17:36:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=177985#p177985</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=177985#p177985"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=177985#p177985"><![CDATA[
Witam <br /><br />Mam pytanie dotyczące funkcji void enkoder_proc () , a mianowicie nie rozumie w jaki sposób do zmiennej enc_stat kopiowane są wartosci z tablicy enc_tab. Chodzi mi głównie o pierwszy nawias kwadratowy   enc_stat=( pgm_read_byte&amp;<strong>[enc_stat &amp; 0x0f]</strong>[ABstate]). Jak to się dzieje że w zmiennej enc_stat może pojawić się   np. 1 , 2 , 3 itd ?? Nie widzę w tej funkcji np. enc_stat++ żeby ją zwiększyć zmienna chociaż o jeden żeby mięć dostęp do następnego wiersza w tablicy enc_tab.  <br /><br />Proszę o pomoc w tym zakresie pozdrawiam<br /><br />Chciałem jeszcze dodać że jestem nowym użytkownikiem tego forum i jest to mój pierwszy post.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15642">damian29</a> — 20 gru 2016, o 17:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-11-25T17:49:27+01:00</updated>
<published>2016-11-25T17:49:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=175626#p175626</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=175626#p175626"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=175626#p175626"><![CDATA[
ja z chęcią to sprawdzę ale na razie jestem daleko od tematu enkoderów - nie mnie jednak - NA PEWNO niedługo powrócę bo będzie mi potrzebna obsługa enkodera do jednego z kolejnych poradników <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> — 25 lis 2016, o 17:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojtekr51]]></name></author>
<updated>2016-11-25T17:46:32+01:00</updated>
<published>2016-11-25T17:46:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=175625#p175625</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=175625#p175625"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=175625#p175625"><![CDATA[
Witam<br />Mam komentarz do cz. 5 poradnika o enkoderach. <a href="https://youtu.be/YnYDnZWSnl8?t=4m3s"  class="postlink">https://youtu.be/YnYDnZWSnl8?t=4m3s</a><br /><br />Chciałbym zauważyć, że gdy w enkoderze określanym tu jako pełnokrokowy o przebiegu:<br /><br />00<br />10<br />11<br />01<br />00 TRYK<br /><br />zamienimy miejscami pin wspólny (GND) z pinem A lub pinem B to powinniśmy otrzymać przebieg:<br /><br />00<br />10<br />11<br />00<br />00 TRYK<br /><br />Taki oto właśnie dziwny przebieg ma jeden z pokazywanych enkoderów. Coś mi się wydaje że ten rzekomo dziwny enkoder, ma po prostu inaczej rozmieszczone wyprowadzenia (wspólny pin nie znajduje się na środku). I po zamianie miejscami odpowiednich wyprowadzeń, enkoder stanie się normalny <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> . To są tylko moje przypuszczenia. Pewnie Pan, Panie Mirku podczas testów wykluczył taką przyczynę dziwności tego enkodera? Ale może umknęło to uwadze.<br /><br />Dodam jeszcze raz że, gdyby ktoś zamienił wyprowadzenia to uzyska taki sam efekt.<br /><br />PS<br />Nie mam wiele praktycznego doświadczenia z enkoderami, więc jeżeli się mylę to proszę mnie poprawić. A o tych nietypowych kodowaniach słyszę pierwszy raz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1760">wojtekr51</a> — 25 lis 2016, o 17:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-04-11T16:48:50+01:00</updated>
<published>2016-04-11T16:48:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158279#p158279</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158279#p158279"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158279#p158279"><![CDATA[
no bo przekombinowałeś <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> po pierwsze to najpierw ustal o jaki zakres tobie chodzi ? od zera do ilu ? do 65535 ? czy mniej czy więcej ?<br /><br />Bo jeśli od 0 do 65535 to przede wszystkim musisz sobie zmienić typ zmiennej, która przechowuje licznik enkodera na int32_t ! Wtedy będziesz mógł go zerować we własnej funkcji tak jak chciałeś wyżej gdzie pisałem, że idziesz dobrą drogą <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />I nie będziesz potrzebował, tak jak mówiłem, robić zmian w bibliotece do enkodera, bo o te mi chodziło - a oczywiście jeśli chodzi o wyświetlanie na LCD liczb dodatnich większych niż 32768 to chyba normalne że musisz sobie dodać w bibliotece LCD nową funkcję <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> (ale to jest niejako zadanie do książki dla każdego czytelnika)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 kwi 2016, o 16:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[acid255]]></name></author>
<updated>2016-04-11T16:35:46+01:00</updated>
<published>2016-04-11T16:35:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158276#p158276</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158276#p158276"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158276#p158276"><![CDATA[
Niestety ani moje wypociny, ani kod kolegi <strong>Sparrow-hawk</strong> nie ograniczają wyświetlania do liczb dodatnich.<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />nie kombinuj w ciele bibliotek jeśli nie rozumiesz jak one dokładnie działają, po co ? po co ?<br /></div><br /><br />Dopiero ingerencja w Lcd_int ze zmianą atoa() na ltoa() wyświetla tylko liczby dodatnie ( oczywiście ograniczam wyświetlenie 65535 przy kręceniu w lewo ).<br /><br />Dzięki wszystkim za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3673">acid255</a> — 11 kwi 2016, o 16:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-04-11T09:05:39+01:00</updated>
<published>2016-04-11T09:05:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158252#p158252</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158252#p158252"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158252#p158252"><![CDATA[
<div class="quotetitle">Sparrow-hawk napisał(a):</div><div class="quotecontent"><br />Dziwi mnie, że kompilacja tego kodu nie generuje żadnych ostrzeżeń. Przecież ten warunek:<br /></div><br />Kolega wyżej napisał, że dopiero to przetestuje - i może warto było dać mu szansę to przetestować we własnym zakresie? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> - dlatego ja nie pisałem o tych szczegółach. Bo często NIC tak nie nauczy kogoś jak doświadczenie na własnej skórze o co chodzi z typami .... Tymczasem to jest właśnie śliczny przykład - na którym nagle by wyszło o co 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> — 11 kwi 2016, o 09:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sparrow-hawk]]></name></author>
<updated>2016-04-11T08:08:48+01:00</updated>
<published>2016-04-11T08:08:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158248#p158248</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158248#p158248"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158248#p158248"><![CDATA[
[syntax=c]uint_16t licznik;  // nowa zmienna globalna dla zliczania impulsów dodatnich<br />     <br />    void Moja_funkcja ( void ) {<br />      licznik = get_encoder();<br />      if ( licznik&lt;0 ){<br />          licznik=0;  // licznik impulsów z enkodera<br />          set_encoder( 0 );   // to daję po to aby zmienna enco_cnt nie była ujemna<br />      }<br />    }[/syntax]<br />Dziwi mnie, że kompilacja tego kodu nie generuje żadnych ostrzeżeń. Przecież ten warunek:<br />[syntax=c]if ( licznik&lt;0 ) {<br />  ...<br />}[/syntax] nigdy nie będzie spełniony. Mało tego, dla ujemnych wartości zwracanych przez get_encoder(); rezultaty działania będą odmienne od oczekiwanych. <br /><br />Więc albo zapiszemy:<br />[syntax=c]int16_t licznik;[/syntax]<br />Albo zapiszemy to tak:[syntax=c]uint16_t counter;<br /><br />void my_function ( void ) {<br />  int16_t value;<br />  if((value = get_encoder()) &lt; 0)<br />    counter = (value + 65535) + 1;<br />  else<br />    counter = value;<br />}[/syntax]<br /><br />PS. Nie należy mieszać nazw polskich z anglojęzycznymi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10614">Sparrow-hawk</a> — 11 kwi 2016, o 08:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[acid255]]></name></author>
<updated>2016-04-11T07:00:54+01:00</updated>
<published>2016-04-11T07:00:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158247#p158247</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158247#p158247"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158247#p158247"><![CDATA[
No właśnie jeszcze nie, bo akurat jestem w pracy - dziś to przetestuję. <br />Dziękuję za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3673">acid255</a> — 11 kwi 2016, o 07:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-04-11T06:48:49+01:00</updated>
<published>2016-04-11T06:48:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158246#p158246</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158246#p158246"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158246#p158246"><![CDATA[
Dokładniuśko tak <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... no ale chyba sam widzisz, że tobie teraz to działa - tak ? czy nie ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 kwi 2016, o 06:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[acid255]]></name></author>
<updated>2016-04-11T06:34:20+01:00</updated>
<published>2016-04-11T06:34:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158245#p158245</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158245#p158245"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158245#p158245"><![CDATA[
czyli w mojej funkcji musi być taki ogranicznik wraz z nową zmienną dla zliczania impulsów:<br /><br />[syntax=c]uint_16t licznik;  // nowa zmienna globalna dla zliczania impulsów dodatnich<br /><br />void Moja_funkcja ( void ) {<br />  licznik = get_encoder();<br />  if ( licznik&lt;0 ){<br />      licznik=0;  // licznik impulsów z enkodera<br />      set_encoder( 0 );   // to daję po to aby zmienna enco_cnt nie była ujemna <br />  }<br />}[/syntax]<br /><br />?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3673">acid255</a> — 11 kwi 2016, o 06:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-04-10T22:34:36+01:00</updated>
<published>2016-04-10T22:34:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158243#p158243</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158243#p158243"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158243#p158243"><![CDATA[
<div class="quotetitle">acid255 napisał(a):</div><div class="quotecontent"><br />ale nie wiedzieć czemu to nie działa.<br /></div><br />A tyle razy też powtarzam - nie kombinuj w ciele bibliotek jeśli nie rozumiesz jak one dokładnie działają, po co ? po co ?<br /><br />Przecież masz wołanego callbacka, twoją własną funkcję w której odczytujesz wartość enkodera i to w sposób atomowy - TAM ograniczaj czyli już u siebie w swoim kodzie - a nie w bibliotece<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 10 kwi 2016, o 22:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2016-04-10T20:34:14+01:00</updated>
<published>2016-04-10T20:34:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158236#p158236</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158236#p158236"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158236#p158236"><![CDATA[
Źle wstawiony kod.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 10 kwi 2016, o 20:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[acid255]]></name></author>
<updated>2016-04-10T20:49:30+01:00</updated>
<published>2016-04-10T19:55:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158235#p158235</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158235#p158235"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158235#p158235"><![CDATA[
Właśnie moje próby z ograniczeniem zliczania tylko do 0 zacząłem w bibliotece enkodera w funkcji encoder_proc<br />[syntax=c]if( ABstate == ENC_RIGHT ) enco_cnt++;<br />else enco_cnt--;<br />enco_flag = 1;[/syntax]<br />zmieniłem na:<br />[syntax=c]if( ABstate == ENC_RIGHT ) enco_cnt++;<br />else if (enco_cnt &gt;= 0 ) enco_cnt--;<br />enco_flag = 1;[/syntax]<br /><br />ale nie wiedzieć czemu to nie działa.<br /><br />Do funkcji Lcd_int() też zaglądałem ale nie wpadłem by zaglądnąć do BB a tam na tłusto jak byk na str. 232 wszystko jest, tak więc będę próbował zrobić sobie Lcd_long z wykorzystaniem ltoa(). <br />Tak na marginesie: tyle razy oglądałem poradniki na których tyle razy było powtarzane o wykonaniu sobie odpowiednich funkcji dotyczących konwersji i byłem pewien, że takiego prymitywnego błędu nie zrobię, a jednak.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3673">acid255</a> — 10 kwi 2016, o 19:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-04-09T23:33:53+01:00</updated>
<published>2016-04-09T23:33:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158188#p158188</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158188#p158188"/>
<title type="html"><![CDATA[Re: Enkoder od podstaw ? - warto ? ;)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14656&amp;p=158188#p158188"><![CDATA[
<div class="quotetitle">Daro69 napisał(a):</div><div class="quotecontent"><br />tak sobie myślę czemu nie tak?<br />bez przerabiania bibliotek.<br /></div><br />Od tego powinno się zacząć a nie od próby wymuszania zera przez uint16_t. Przecież przy zmniejszaniu - gdy dojdzie do zera pojawi się wtedy 65535 nawet jeśli zmieni się w bibliotece i wcale nie będzie to ładnie<br /><br />Więc takim warunkiem - ogranicznikiem jak najbardziej warto pomajstrować.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 kwi 2016, o 23:33</p><hr />
]]></content>
</entry>
</feed>