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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-12-03T13:23:43+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=9530&amp;mode</id>
<entry>
<author><name><![CDATA[icer_cmg]]></name></author>
<updated>2014-12-03T13:23:43+01:00</updated>
<published>2014-12-03T13:23:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107197#p107197</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107197#p107197"/>
<title type="html"><![CDATA[Re: Wyświetlacz LCD - problem z itoa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107197#p107197"><![CDATA[
Po prostu zbyt często aktualizujesz zmienną na wyświetlaczu. Wrzuć delay albo aktualizuj wyświetlacz po ustawieniu flagi w przerwaniu. Unikniesz wtedy migotania.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1636">icer_cmg</a> — 3 gru 2014, o 13:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bodowp]]></name></author>
<updated>2014-12-03T12:07:37+01:00</updated>
<published>2014-12-03T12:07:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107174#p107174</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107174#p107174"/>
<title type="html"><![CDATA[Re: Wyświetlacz LCD - problem z itoa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107174#p107174"><![CDATA[
Cały wyświetlacz migać nie będzie bo napis BPM = jest przed pętlą while więc jest ustawiany tylko raz. Zmianie ulegnie tylko wartość z buforu. Wpisując w to miejsce &quot;spacje&quot; powodujemy, że ta wartość jest nadpisywana spacjami czyli &quot;czyszczona&quot; z wyświetlacza. W tym przypadku poniżej funkcji wyświetlania znajduje się jeszcze trochę programu, co uP zabiera troszkę czasu przez co wynik na LCD powinien ładnie się pokazywać. W przypadku kiedy w pętli jest tylko wyświetlanie zmiennej, może okazać się, że przy zastosowaniu takiego rozwiązania wartość będzie niemiło przygasać&quot;mrugać&quot;.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7035">bodowp</a> — 3 gru 2014, o 12:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nefarious19]]></name></author>
<updated>2014-12-03T10:09:57+01:00</updated>
<published>2014-12-03T10:09:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107152#p107152</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107152#p107152"/>
<title type="html"><![CDATA[Re: Wyświetlacz LCD - problem z itoa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107152#p107152"><![CDATA[
Ale cały wyświetlacz miga czy tylko te cyfry?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2500">Nefarious19</a> — 3 gru 2014, o 10:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[papachili]]></name></author>
<updated>2014-12-03T09:46:28+01:00</updated>
<published>2014-12-03T09:46:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107150#p107150</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107150#p107150"/>
<title type="html"><![CDATA[Re: Wyświetlacz LCD - problem z itoa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107150#p107150"><![CDATA[
<div class="quotetitle">icer_cmg napisał(a):</div><div class="quotecontent"><br />To może tak?<br />[syntax=c]lcd_locate(0,0);<br />lcd_str(&quot;BPM =&quot;);       // wyswietl napis BPM =<br /><br />while (1)<br />            {<br />     <br />                    lcd_locate(6,0);        // pozycja startowa kursora na LCD<br />                    lcd_str(&quot;          &quot;); // 10 spacji<br />                    lcd_locate(6,0);<br />                    lcd_str(itoa(bpm,bufor,10)); // wyswietl wartosc zmiennej bpm<br />           }[/syntax]<br />chodzi o to, by nadpisywać spacjami i później wynikiem tylko część wyświetlacza, a nie nadpisywać tego, co się nie zmienia.<br /></div><br /><br /><br />Fakt, napis &quot;BPM =&quot; się nie zmienia więc można go pominąć.<br /> <br />Jednak w dalszym ciągu wartości wyświetlają się poprawnie, ale są ledwo widoczne i migają.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6092">papachili</a> — 3 gru 2014, o 09:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[icer_cmg]]></name></author>
<updated>2014-12-02T23:53:11+01:00</updated>
<published>2014-12-02T23:53:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107101#p107101</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107101#p107101"/>
<title type="html"><![CDATA[Re: Wyświetlacz LCD - problem z itoa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107101#p107101"><![CDATA[
To może tak?<br />[syntax=c]lcd_locate(0,0);<br />lcd_str(&quot;BPM =&quot;);       // wyswietl napis BPM =<br /><br />while (1)<br />            {<br />     <br />                    lcd_locate(6,0);        // pozycja startowa kursora na LCD<br />                    lcd_str(&quot;          &quot;); // 10 spacji<br />                    lcd_locate(6,0);<br />                    lcd_str(itoa(bpm,bufor,10)); // wyswietl wartosc zmiennej bpm<br />           }[/syntax]<br />chodzi o to, by nadpisywać spacjami i później wynikiem tylko część wyświetlacza, a nie nadpisywać tego, co się nie zmienia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1636">icer_cmg</a> — 2 gru 2014, o 23:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[papachili]]></name></author>
<updated>2014-12-02T23:33:09+01:00</updated>
<published>2014-12-02T23:33:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107095#p107095</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107095#p107095"/>
<title type="html"><![CDATA[Re: Wyświetlacz LCD - problem z itoa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107095#p107095"><![CDATA[
<div class="quotetitle">jacekk232 napisał(a):</div><div class="quotecontent"><br />To nie funkcja itoa() źle działa tylko na wyświetlaczu pozostaje ci zero po liczbie sto. <br /><br />Wyświetl dwie spacje po tej linii<br />[syntax=c]lcd_str(itoa(bpm,bufor,10)); // wyswietl wartosc zmiennej bpm<br />lcd_str(&quot;  &quot;);[/syntax]<br /></div><br /><br />Faktycznie! W tym tkwił cały problem, ale nie mogłem jakoś do tego samemu dojść <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> Wcześniej sprawdzałem na sztywno podaną wartość 99 to wyświetlało prawidłowo.<br /><br />Dzięki za pomoc <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 4 minutach ]</span></strong><br /><br /><div class="quotetitle">Nefarious19 napisał(a):</div><div class="quotecontent"><br />W pętli głównej zaraz za lcd_locate(0,0) wyślij na wyświetlacz string z 16 spacjami a potem znów daj lcd_locate (0,0)<br /></div><br /><br />Ta metoda również zdaje się działać, ale powoduje znaczne migotanie ekranu.<br /><br />[syntax=c]while (1)<br />{<br /><br />lcd_locate(0,0); // pozycja startowa kursora na LCD<br />lcd_str(&quot;                &quot;); // 16 spacji<br />lcd_locate(0,0);<br />lcd_str(&quot;BPM =&quot;);// wyswietl napis BPM =<br /><br />lcd_locate(6,0);<br />lcd_str(itoa(bpm,bufor,10)); // wyswietl wartosc zmiennej bpm<br />       }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6092">papachili</a> — 2 gru 2014, o 23:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nefarious19]]></name></author>
<updated>2014-12-02T23:28:42+01:00</updated>
<published>2014-12-02T23:28:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107094#p107094</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107094#p107094"/>
<title type="html"><![CDATA[Re: Wyświetlacz LCD - problem z itoa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107094#p107094"><![CDATA[
W pętli głównej zaraz za lcd_locate(0,0) wyślij na wyświetlacz string z 16 spacjami a potem znów daj lcd_locate (0,0)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2500">Nefarious19</a> — 2 gru 2014, o 23:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-12-02T23:26:39+01:00</updated>
<published>2014-12-02T23:26:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107092#p107092</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107092#p107092"/>
<title type="html"><![CDATA[Re: Wyświetlacz LCD - problem z itoa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107092#p107092"><![CDATA[
To nie funkcja itoa() źle działa tylko na wyświetlaczu pozostaje ci zero po liczbie sto. <br /><br />Wyświetl dwie spacje po tej linii<br />[syntax=c]lcd_str(itoa(bpm,bufor,10)); // wyswietl wartosc zmiennej bpm<br />lcd_str(&quot;  &quot;);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 2 gru 2014, o 23:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[papachili]]></name></author>
<updated>2014-12-02T23:19:40+01:00</updated>
<published>2014-12-02T23:19:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107090#p107090</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107090#p107090"/>
<title type="html"><![CDATA[Re: Wyświetlacz LCD - problem z itoa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107090#p107090"><![CDATA[
Dzięki, poprawione <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=6092">papachili</a> — 2 gru 2014, o 23:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[leonos2000]]></name></author>
<updated>2014-12-02T23:12:59+01:00</updated>
<published>2014-12-02T23:12:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107086#p107086</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107086#p107086"/>
<title type="html"><![CDATA[Re: Wyświetlacz LCD - problem z itoa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107086#p107086"><![CDATA[
Zmień kod tak jak w tym temacie <a href="http://forum.atnel.pl/topic7402.html"  class="postlink">http://forum.atnel.pl/topic7402.html</a> bo któryś z zielonych lub różowy może usunąć temat.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4851">leonos2000</a> — 2 gru 2014, o 23:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[papachili]]></name></author>
<updated>2014-12-02T23:18:57+01:00</updated>
<published>2014-12-02T23:10:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107085#p107085</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107085#p107085"/>
<title type="html"><![CDATA[Wyświetlacz LCD - problem z itoa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9530&amp;p=107085#p107085"><![CDATA[
Witam forumowiczów,<br /><br />Korzystając z funkcji <strong>itoa</strong> próbuję wyświetlić wartość zmiennej na wyświetlaczu LCD (wartość zmiennej obsługiwana jest dwoma przyciskami) i udaję się to połowicznie - wartości większe od 100 wyświetlają się poprawnie, jednak poniżej już nie. I tak zamiast 99 otrzymuję 990, 98 to 980 itd. <br /><br />Poniżej zamieszczam fragment kodu i prosiłbym o udzielenie pomocy.<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />#include &quot;lcd.h&quot;<br />#include &quot;uart.h&quot;<br />#include &quot;midi.h&quot;<br /><br />#define KEY1 (1&lt;&lt;PC1)<br />#define KEY2 (1&lt;&lt;PC0)<br /><br />volatile uint8_t i = 0; // zmienna pomocnicza do obslugi przyciskow<br />volatile uint16_t bpm = 120; // wartosc poczatkowa bpm<br />volatile uint8_t change; // zmiena pomocnicza, zmiana bpm<br />char bufor&#91;20&#93;; // bufor potrzebny do zamiany zmiennej na stringa<br /><br />int main (void)<br />{<br />        <br />        PORTC |= KEY1 | KEY2; // vcc do przyciskow<br />        <br />        USART_Init( __UBRR );                 // inicjalizacja USART do transmisji MIDI<br /><br />Timer1_Init();        // inicjalizacja timera1 do metronomu<br />        <br />        lcd_init(); // inicjalizacja wyswietlacza<br />lcd_cls(); //czysc lcd<br /><br />       sei();<br />        <br />        while (1)<br />        {<br />                lcd_locate(0,0); // pozycja startowa kursora na LCD<br />lcd_str(&quot;BPM =&quot;);// wyswietl napis BPM =<br /><br />lcd_locate(6,0);<br />lcd_str(itoa(bpm,bufor,10)); // wyswietl wartosc zmiennej bpm<br /><br />                /* Obsluga przyciskow */<br /><br />                if (!(PINC &amp; KEY1)) // zwieksz bpm<br />{<br />i++;<br />if (i == 180) // zmienna pomocnicza<br />{<br />bpm++;<br />i=0;<br />change = 1;<br />}<br />}<br /><br />else if (!(PINC &amp; KEY2)) // zmniejsz bpm<br />{<br />i++;<br />if (i == 180)<br />{<br />bpm--;<br />i=0;<br />change = 1;<br />}<br />}<br />if (change)// zmiana bpm<br />{<br />OCR1A = 30*(60000/bpm)/2;<br />change = 0;<br />}<br />       }<br />}[/syntax]<br /><br />Pozdrawiam,<br />PG<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6092">papachili</a> — 2 gru 2014, o 23:10</p><hr />
]]></content>
</entry>
</feed>