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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-04-11T11:33:30+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=2837&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-04-11T11:33:30+01:00</updated>
<published>2013-04-11T11:33:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34095#p34095</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34095#p34095"/>
<title type="html"><![CDATA[Re: Poprawne czyszczenie LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34095#p34095"><![CDATA[
<div class="quotetitle">k_mirek napisał(a):</div><div class="quotecontent"><br />... Poza tym jeszcze jedno pytanie, jeśli gdziekolwiek w programie wpiszę polecenie lcd_cls(); dostaje ostrzeżenie &quot;statement with no effect&quot; co to oznacza??<br /></div><br /><br />No to oznacza, że kolega nie przeczytał rozdziału o LCD w Bluebook dokładnie niestety <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> ... proszę się nie obrażać - nie o to chodzi - ale w książce opisuję jak buduję krok po kroku taką bibliotekę. I nie chodzi mi o to w książce żeby zaraz każdy sam sobie takie biblioteki musiał budować - można oczywiście spokojnie korzystać z tego co w książce ale...<br /><br />no ale przede wszystkim na przykładzie budowy takich bibliotek - przekazuję praktyczne techniki programowania w C i rozwijam te czyste teoretyczne krótkie przykłady z pierwszej części .... po to aby można było lepiej się uczyć tego C <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />po drugie przy tej okazji można rzeczywiście poznać chociaż jak działa obsługa czegoś tam (tu np LCD) w jakiejś  bibliotece<br /><br /><br />no i po trzecie - jak ktoś nie przeczyta tego to właśnie potem ma kłopoty nawet z używaniem tej biblioteki bo została napisana z użyciem kompilacji warunkowej i ma sporo ciekawych opcji. Między innymi domyślnie np wyłączona jest z kompilacji funkcja lcd_cls() i dlatego się koledze taki komunikat pokazuje, tymczasem wystarczy tylko w pliku nagłówkowym konfiguracyjnym lcd4478.h ustawić sobie opcję na 1 (bo domyślnie jest 0) ... zdaje się USE_LCD_CLS i już będzie działać<br /><br />tyle że mówię jest tam wiele fajnych ciekawostek - zarówno funkcjonalnych dla LCD jak i związanych z nauką programowania - więc zachęcam jednak do szczegółowego - chociaż raz, jeden raz przeanalizowania tego całego rozdziału a wszystko stanie się jasne. Bo wręcz w książce jest odpowiedź na to ale i pewnie wiele innych pytań <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... A być może kolega nawet nie zdając sobie sprawy z pełnych możliwości takiej biblioteki korzysta tylko z kilku podstawowych ? - szkoda <br /><br />więc polecam przeczytać koniecznie ten rozdział <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ok ?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br />poza tym lcd_cls() najlepiej NIGDY nie używać ... a można sobie bez tego poradzić spokojnie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 kwi 2013, o 11:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-04-11T11:25:41+01:00</updated>
<published>2013-04-11T11:25:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34092#p34092</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34092#p34092"/>
<title type="html"><![CDATA[Re: Poprawne czyszczenie LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34092#p34092"><![CDATA[
Zawsze zostaje jeszcze motyw z warstwami jak stosuje Mirek, wtedy można szaleć <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<p>Statystyki: Napisane przez Gość — 11 kwi 2013, o 11:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[janeczqu]]></name></author>
<updated>2013-04-11T11:22:20+01:00</updated>
<published>2013-04-11T11:22:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34091#p34091</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34091#p34091"/>
<title type="html"><![CDATA[Re: Poprawne czyszczenie LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34091#p34091"><![CDATA[
Takiego ostrzeżenia jeszcze nie miałem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />A co do czyszczenia zamiast lcd_cls() lcd_str(&quot;   &quot;) ja tak robię ponieważ przy czyszczeniu całego wyświetlacza widać mruganie<br /><br /><br /><br />Edit zostałem wyprzedzony <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=823">janeczqu</a> — 11 kwi 2013, o 11:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-04-11T11:20:42+01:00</updated>
<published>2013-04-11T11:20:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34089#p34089</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34089#p34089"/>
<title type="html"><![CDATA[Re: Poprawne czyszczenie LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34089#p34089"><![CDATA[
Sam poradziłem sobie w następujący sposób<br /><br />[syntax=c]// Obsługa funkcji klawiatury<br />void klaw_up(void){ // klawisz w górę<br />lcd_locate(1,0);<br />lcd_str_P(PSTR(&quot;     &quot;));<br />T_ustaw++;<br />if( T_ustaw &gt; T_MAX )<br />{<br />T_ustaw = 0;<br />lcd_locate(1,0);<br />lcd_str_P(PSTR(&quot;   &quot;));<br />}<br />if(T_ustaw&lt;10)<br />{<br />lcd_locate(1,0);<br />lcd_str_P(PSTR(&quot;       &quot;));<br />}<br />if(T_ustaw&lt;100)<br />{<br />lcd_locate(1,0);<br />lcd_str_P(PSTR(&quot;       &quot;));<br />}<br />lcd_locate(1,0);<br />lcd_str_P(PSTR(&quot;Tz=&quot;));<br />lcd_int(T_ustaw);<br />lcd_str(&quot;\x80&quot;); // wyświetl znak jednostek (C - stopnie Celsiusza)<br />ram_cfg.T_ustaw = T_ustaw;<br />}[/syntax]<br /><br />czyli sprawdzam ile wynosi zmienna jeżeli przekracza granice 1-2-3, albo 3-2-1 cyfrową to za pomocą ifów wypełniam dane miejsce spacjami. Trochę to toporne ale działa <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<p>Statystyki: Napisane przez Gość — 11 kwi 2013, o 11:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Paul Dirac]]></name></author>
<updated>2013-04-11T11:17:28+01:00</updated>
<published>2013-04-11T11:17:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34087#p34087</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34087#p34087"/>
<title type="html"><![CDATA[Re: Poprawne czyszczenie LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34087#p34087"><![CDATA[
Jest przeciez na pewno jakas gotowa funckja na czyszczenie LCD, ale jak wiadomo ona trwa bardzo dlugo, wiec lcd_locate jest dobrym posunieciem.<br />moze przed kolejneym pomiarem napisa lcd-locate(0,6); i nastepnie lcd_int(&quot;  &quot;)- dwie spacje wtedy powinno wyczyscic. w petli while(1) to wwal. Ale najlepiej jest mi sie wydaje po prostu napisac funckje na czyszczenie, skoro masz wyswietlacz, to po prostu zobacz jak to tam jest dla mojego to poprostu<br />lcd_write_instr(0x01);<br />-delay_ms(1.64);<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1035">Paul Dirac</a> — 11 kwi 2013, o 11:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[k_mirek]]></name></author>
<updated>2013-04-11T10:55:07+01:00</updated>
<published>2013-04-11T10:55:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34085#p34085</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34085#p34085"/>
<title type="html"><![CDATA[Poprawne czyszczenie LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2837&amp;p=34085#p34085"><![CDATA[
Witam.<br /><br />Jak w temacie napisałem, chodzi mi o zasady poprawnego czyszczenie LCD. Napisałem jakis taki powiedzmy programik do pomiaru prędkości obrotowej wentylatora. <br />[syntax=c]while(1)<br />{<br /><br />lcd_locate(0,0);<br />lcd_str(&quot;imp&quot;);<br />lcd_locate(0,6);<br />lcd_int(impulsy);<br />lcd_locate(0,11);<br />lcd_str(&quot;1/s&quot;);<br /><br />}<br /><br /><br />}<br />ISR( INT0_vect )<br />{<br />licznik++;<br />}<br /><br />ISR(TIMER0_COMP_vect)<br />{<br />time_count++;<br />if(time_count==250)<br />{<br />LED_TOG;<br />impulsy=licznik;<br />licznik=0;<br />}<br />}[/syntax]<br /><br />wygląda on mniej więcej tak, przerwanie zewnętrzne zlicza impulsy z wiatraczka, natomiast licznik odlicza podstawe czasu pomiaru tych impulsów. Problem występuje jeśli wiatrak wyjdzie np na 31 obr/s a po chwili spadnie na np. 8 obr/min. Wyswietlany wynik wtedy to 81 obr/min poniewaz jak wiadomo niema czyszczenia LCD. Kombinowalem na wiele sposobów, włącznie z wpisywaniem w petli if(time==count) polecenia lcd_str(&quot;    &quot;); jednak nie daje to oczekiwanego efektu. Poza tym jeszcze jedno pytanie, jeśli gdziekolwiek w programie wpiszę polecenie lcd_cls(); dostaje ostrzeżenie &quot;statement with no effect&quot; co to oznacza??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=499">k_mirek</a> — 11 kwi 2013, o 10:55</p><hr />
]]></content>
</entry>
</feed>