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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-05-16T14:11:16+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=3132&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-16T14:11:16+01:00</updated>
<published>2013-05-16T14:11:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3132&amp;p=37104#p37104</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3132&amp;p=37104#p37104"/>
<title type="html"><![CDATA[Re: Pytanie o własne znaki w wyświetlaczu LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3132&amp;p=37104#p37104"><![CDATA[
<div class="quotetitle">polak27 napisał(a):</div><div class="quotecontent"><br />Do funkcji przekazujemy adresy ASCII od 0x80 do 0x87. No i właśnie to są adresy w jakiej pamięci?<br /></div><br /><br />troszkę ci się pomyliło ale doprecyzowuję, to nie są żadne adresy - my do funkcji przekazujemy kod znaku - kod znaku ASCII. Gdyby nie to przemapowanie, które sobie tu wymyśliłem to trzeba byłoby przekazywać po prostu kody znaków od 0 do 7 - zgadzasz się ? Ale  wtedy gdybyś chciał wyświetlić C-String ze znakiem ASCII o kodzie ZERO to co ? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> .... to QUNIEC stringa <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> i trzeba byłoby takie znaki jakoś ręcznie ciapać gdzieś w kodzie .... a tak ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... a tak zobacz co się dzieje<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">nr &amp; 0x07</div><br /><br />to załatwia nam sprawę, że jak wpada kod znaku np 0x80 ... to po tej operacji ile będzie ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ano ZERO prawda ? tym MASKOWANIEM bo tak to się nazywa pozbywamy się tego przemapowania znaków.....<br /><br />Za to później w kodzie można zrobić tak:<br /><br />[syntax=c]lcd_str( &quot;ko&quot;&quot;\x80&quot;&quot;dra&quot; );[/syntax]<br /><br />zakładając że pod kodem 0x80 zdefiniowałeś sobie literkę ł <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> dostaniesz napis &quot;<strong><span style="color: #0040FF">kołdra</span></strong>&quot; zgadza się ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> a gdybyś zrobił tak:<br /><br />[syntax=c]lcd_str( &quot;ko&quot;&quot;\x00&quot;&quot;dra&quot; );[/syntax]<br /><br />to pokazałby ci się jaki napis ???? ano taki: &quot;<strong><span style="color: #FF0000">k</span></strong>&quot; .... i koniec <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> bo zero to znak końca stringa - teraz rozumiesz po co to przemapowanie całe ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br /><div class="quotetitle">polak27 napisał(a):</div><div class="quotecontent"><br />Miałem też problem z tym, po co jest ta komenda *8 po nawiasie, ale chyba to rozgryzłem już. To jest polecenie, aby dla liczb z kolejnych adresów (/0x80, /0x81.../0x87) &quot;wkładać&quot; nowe wartości czyli nasze znaki do adresów: 0, 8, 16, 24, 32, 40, 48, 56. Gdyby tego nie było zapisywałoby od adresów (0,1,2,3,4,5,6,7) czyli wychodziłaby kaszanka. Czy dobrze myślę?<br /></div><br /><br />Bardzo dobrze to rozgryzłeś <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 4 minutach ]</span></strong><br /><br /><div class="quotetitle">polak27 napisał(a):</div><div class="quotecontent"><br />I jeszcze ostatnia kwestia. Skąd wyświetlacz LCD wie jak przyjmować te wartości dla nowych znaków. Tzn. mamy wywołanie komendą lcd_write_cmd(...tu np. 0101 0000 co mówi, że zapisujemy w CGRAM od 16 bajtu czyli na 3 wolne pole) i teraz LCD jakiś czas czeka na te znaki, a my mu je podajemy dalej forem? Skąd on wie kiedy już koniec wpisywania tych znaków będzie?<br /></div><br /><br />Masz taką tabelkę komend do LCD w książce i wszędzie w necie - za pomocą odpowiednich bitów ale też linii RS mówisz wyświetlaczowi czy wysyłasz do niego KOMENDĘ czy DANE. Pomyśl jak włączysz wyświetlacz - zainicjalizujesz go - to możesz mu słać co sekundę jakiś kod ASCII np 65 czyli literkę &quot;A&quot; i będzie ona zapisywana po kolei do kolejnych komórek DDRAM ten kod a LCD będzie wyświetlał &quot;A&quot; ze swojego generatora znaków. Po co wyświetlacz ma wiedzieć kiedy koniec ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> czochra go to ..... on czeka na dane i pcha je do DDRAM. A jak chcesz coś innego to wysyłasz mu polecenie i każesz zrobić coś innego <br /><br />co będzie na końcu to go nie interesuje.<br /><br />A zatem jak w pętli wypchasz do LCD napisz &quot;forum&quot; to po kolei te znaki pojawią się na nim<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 16 maja 2013, o 14:11</p><hr />
]]></content>
</entry>
</feed>