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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-02-07T11:53:35+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=17192&amp;mode</id>
<entry>
<author><name><![CDATA[wonsz]]></name></author>
<updated>2017-02-07T11:53:35+01:00</updated>
<published>2017-02-07T11:53:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17192&amp;p=181942#p181942</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17192&amp;p=181942#p181942"/>
<title type="html"><![CDATA[Re: Problem z kursorem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17192&amp;p=181942#p181942"><![CDATA[
Witam, masz problem z ustawieniem kursora na danym miejscu, włączeniem go czy ustaleniu miejsca gdzie ma być?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2311">wonsz</a> — 7 lut 2017, o 11:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[budapreniak]]></name></author>
<updated>2016-12-31T15:35:54+01:00</updated>
<published>2016-12-31T15:35:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17192&amp;p=178706#p178706</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17192&amp;p=178706#p178706"/>
<title type="html"><![CDATA[Problem z kursorem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17192&amp;p=178706#p178706"><![CDATA[
Witam,<br />W programie ustawiam wartość od 120 do 42000 za pomocą enkodera z przyciskiem(obrót enkodera powoduje przerwanie a w niej jest procedura Pana Mirka rozpoznająca w którą stronę wykonał obrót), wciśnięcie powoduje zwiększenie liczy o jaka inkrementuję/dekrementuje wartość (1, 10, 100 lub 1000). Ustawiona wartość jest wyświetlana na wyświetlaczu. Chciałem podświetlić np liczbę dziesiątek gdy wartość inkrementacji/dekrementacji jest 10 itp.<br />Próbowałem z kursorem sprzętowym i udało się to osiągnąć w zakresie do 999 dla miejsca jedynek, inne miejsca bym zrobił na warunkach i przestawianiu kursora ale niestety działo to jakby z lekkim opóźnieniem. Chciałem to zrobić na warstwach (czytałem artykuł) ale nie wiem jak się za to zabrać i niestety pin RW w lcd jest podpięty do masy (zrobiłem już płytkę, więc raczej nie ma możliwości podpięcia pinu RW).<br /><br /> <br />Tu jest fragment kodu odpowiedzialny za wyświetlanie informacji na LCD i obsługę przerwania<br />[syntax=c]int main(void){<br />while(1){<br />czestotliwosc=(float)enkoder/60;  // obliczanie czestotliwości<br />if(b==1){<br />lcd_locate(0,4);<br />lcd_int(enkoder);<br />lcd_str(&quot;   &quot;);<br /><br />dtostrf(czestotliwosc,6,3,f);  // czestotliwosc (float) na string<br />lcd_locate(1,1);<br />lcd_str(f);<br />lcd_str(&quot;   &quot;);<br /><br />lcd_locate(0,6);<br />b=0;<br />}<br />}<br />}<br /><br />ISR ( INT0_vect ){   // przerwanie i obsługa enkodera<br /><br />    static uint8_t dir;              // obsługa enkodera<br />    if( ! (PIND &amp;  (1&lt;&lt;PD2) ) ){  <br />    dir = (PIND &amp; (1&lt;&lt;PD0));<br />    } else {<br />    if (dir != (PIND &amp; (1&lt;&lt;PD0) ) ){<br />    if (dir) enkoder = enkoder + mnoznik;<br />    else enkoder = enkoder - mnoznik;<br />  }<br />    }<br />    b=1;<br />}<br />//*********** KONIEC PRZERWANIE 1  ***********[/syntax]<br /><br />na powyższym kodzie wartość enkoder działa dobrze, ale wartość częstotliwość (czyli f) nie zgrywa się ze zmianą wartości enkodera.<br /><br /><br />Czy ktoś może podpowiedzieć lub nakierować jak się za to zabrać?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7742">budapreniak</a> — 31 gru 2016, o 15:35</p><hr />
]]></content>
</entry>
</feed>