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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-03-23T14:01:04+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=20459&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-23T14:01:04+01:00</updated>
<published>2018-03-23T14:01:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205962#p205962</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205962#p205962"/>
<title type="html"><![CDATA[Re: Funkcja odczytująca bajt z wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205962#p205962"><![CDATA[
<div class="quotetitle">Frantic napisał(a):</div><div class="quotecontent"><br />Czyż nie po to powstało to &quot;przyjazne&quot; forum?<br /></div><br />Ale oczywiście - po prostu tak napisałeś, że sądziłem że wnioski wyciągasz tylko na podstawie kodu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 mar 2018, o 14:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Frantic]]></name></author>
<updated>2018-03-23T13:43:28+01:00</updated>
<published>2018-03-23T13:43:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205960#p205960</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205960#p205960"/>
<title type="html"><![CDATA[Re: Funkcja odczytująca bajt z wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205960#p205960"><![CDATA[
To że tak jest w książce to też nie oznacza, że wszyscy to zrozumieją i że suchy tekst z książki mi pomoże. Dyskusja na forum może rozjaśnić pewne kwestie. Czyż nie po to powstało to &quot;przyjazne&quot; forum?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19199">Frantic</a> — 23 mar 2018, o 13:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-23T13:16:39+01:00</updated>
<published>2018-03-23T13:16:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205956#p205956</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205956#p205956"/>
<title type="html"><![CDATA[Re: Funkcja odczytująca bajt z wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205956#p205956"><![CDATA[
<div class="quotetitle">rskup napisał(a):</div><div class="quotecontent"><br />Czym tak fajnie wycina się obrazki (taki postrzępiony brzeg)? Czy to jakieś specjalne narzędzie czy może to standardowe a tylko o tym nie wiem?<br /><br />-- <br />Pozdrawiam,<br />Robert<br /></div><br />a ja używam od dawna narzędzi ze stajni Techsmitch - podstaw to CAMTASIA STUDIO do obróbki poradników a do szybkiej obróbki zrzutów ekranu ich programu SNAGIT ... to w nim na szybko można takie wydzieranki zrobić <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> tzn jednym kliknięciem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 mar 2018, o 13:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2018-03-23T13:11:49+01:00</updated>
<published>2018-03-23T13:11:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205955#p205955</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205955#p205955"/>
<title type="html"><![CDATA[Re: Funkcja odczytująca bajt z wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205955#p205955"><![CDATA[
Czym tak fajnie wycina się obrazki (taki postrzępiony brzeg)? Czy to jakieś specjalne narzędzie czy może to standardowe a tylko o tym nie wiem?<br /><br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 23 mar 2018, o 13:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-23T11:33:15+01:00</updated>
<published>2018-03-23T11:33:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205950#p205950</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205950#p205950"/>
<title type="html"><![CDATA[Re: Funkcja odczytująca bajt z wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205950#p205950"><![CDATA[
<div class="quotetitle">Frantic napisał(a):</div><div class="quotecontent"><br />1bobik1, to że tak jest w komentarzasz, nie znaczy, że tak działa.<br /></div><br />Panie kochany - poza komentarzami w kodzie <strong>masz to WYRAŹNIE i to jak BYK napisane w Bluebooku</strong><br /><br /><img src="https://obrazkiforum.atnel.pl/54/6c9c5ebcdebdf65f4116ecd4add180d7.png" alt="Obrazek" /><br /><br /><br />i nie tylko w tym miejscu - trzeba tylko chcieć czytać książkę a nie zaglądać do samego kodu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 mar 2018, o 11:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2018-03-23T10:43:20+01:00</updated>
<published>2018-03-23T10:43:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205948#p205948</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205948#p205948"/>
<title type="html"><![CDATA[Re: Funkcja odczytująca bajt z wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205948#p205948"><![CDATA[
Ktoś kiedyś na youtubie pokazywał, jak dokładnie działa sterowanie takim wyświetlaczem. Z tego, co pamiętam, nie odczytywał danych z wyświetlacza, ale masz pokazane, o co chodzi z półbajtami <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 23 mar 2018, o 10:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Frantic]]></name></author>
<updated>2018-03-23T10:11:13+01:00</updated>
<published>2018-03-23T10:11:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205946#p205946</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205946#p205946"/>
<title type="html"><![CDATA[Re: Funkcja odczytująca bajt z wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205946#p205946"><![CDATA[
Marhef dzięki za za wytłumaczenie, nie wiedziałem, że wyświetlacz raz wystawia starszą, a raz młodszą połówkę bajtu. Teraz wszystko janse.<br /><br />1bobik1, to że tak jest w komentarzasz, nie znaczy, że tak działa. Gdyby nie fakt, o którym napisał Marhef, nadal bym myślał, że odczytujemy dwa razy, którąś z części bajtu i raz przesuwamy ją w lewo, a raz nie, ale skoro wyświetlacz wystawia dwie różne części, to teraz jest to faktycznie oczywiste.<br /><br />Niemniej jednak, dzięki za odpowiedzi <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=19199">Frantic</a> — 23 mar 2018, o 10:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2018-03-22T15:46:04+01:00</updated>
<published>2018-03-22T15:46:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205891#p205891</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205891#p205891"/>
<title type="html"><![CDATA[Re: Funkcja odczytująca bajt z wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205891#p205891"><![CDATA[
Bo działa to tak: wyświetlacz wystawia starszą połowę bajtu, Ty odczytujesz. Zerujesz sygnał E, ustawiasz sygnał E =&gt; wyświetlacz wystawia drugie cztery bity (nie pamiętam, w którym dokładnie momencie, ale przy zmianie stanu na wyprowadzeniu E). Dzięki temu odczytujesz cały bajt, a nie dwa razy to samo<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 22 mar 2018, o 15:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[1bobik1]]></name></author>
<updated>2018-03-22T15:34:28+01:00</updated>
<published>2018-03-22T15:34:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205889#p205889</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205889#p205889"/>
<title type="html"><![CDATA[Re: Funkcja odczytująca bajt z wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205889#p205889"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Czyli w moim rozumieniu odczytamy dwa razy młodszą część bajtu tylko, że raz ją przesuniemy o 4 w lewo a drugi raz nie.<br /></div><br />Źle rozumiesz.<br />lcd_readHalf() odczytuje starszą połówkę<br />lcd_readHalf() odczytuje młodszą połówkę.<br />Nawet masz to ładnie opisane w komentarzach.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=464">1bobik1</a> — 22 mar 2018, o 15:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Frantic]]></name></author>
<updated>2018-03-21T22:08:59+01:00</updated>
<published>2018-03-21T22:08:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205858#p205858</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205858#p205858"/>
<title type="html"><![CDATA[Funkcja odczytująca bajt z wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20459&amp;p=205858#p205858"><![CDATA[
Witam wszystkich,<br /><br />Mam mały problem z dokładnym zrozumieniem funkcji do odczytu bajtu z wyświetlacza LCD (HD 44780) opisanej w bluebooku Pana Mirka.<br /><br />Najpierw tworzymy funkcję do odczytu połówki bajtu jako, że pracujemy w trybie 4-bitowym.<br /><br />[syntax=c]#if USE_RW == 1<br />static inline uint8_t lcd_readHalf(void)<br />{<br />uint8_t result = 0;<br />if(PIN(LCD_D4PORT)&amp;(1&lt;&lt;LCD_D4)) result |= (1&lt;&lt;0); <br />if(PIN(LCD_D5PORT)&amp;(1&lt;&lt;LCD_D5)) result |= (1&lt;&lt;1);<br />if(PIN(LCD_D6PORT)&amp;(1&lt;&lt;LCD_D6)) result |= (1&lt;&lt;2);<br />if(PIN(LCD_D7PORT)&amp;(1&lt;&lt;LCD_D7)) result |= (1&lt;&lt;3);<br />return result;<br />}<br />#endif[/syntax]<br /><br />A następnie funkcję do odczytu całego bajtu:<br /><br />[syntax=c]#if USE_RW == 1<br />uint8_t _lcd_read_byte(void)<br />{<br />uint8_t result = 0;<br />data_dir_in();<br /><br />SET_RW;<br />SET_E;<br />/* Reading of older part of byte */<br />result |= (lcd_readHalf() &lt;&lt; 4);<br />CLR_E;<br />SET_E;<br />/* Reading of younger part of byte */<br />result |= lcd_readHalf();<br />CLR_E;<br /><br />return result;<br />}<br />#endif[/syntax]<br /><br />A teraz moje wątpliwości. Po pierwsze co dokładnie odczytujemy? Jak rozumiem, nie jest to, np. zawartość wyświetlacza wysłana dajmy na to chwilę wcześniej na wyświetlacz, ale co to dokładnie jest. Od czego zależy wartość która zostanie zwrócona przez tę funkcję? I kolejna sprawa, o ile przy wysyłaniu bajtu &quot;na dwa razy&quot; nie mam wątpliwości o tyle przy odczytywaniu już tak. Funkcja lcd_readHalf w moim rozumieniu sprawdza wartości (czy 0 czy 1) na na 4 bitach i ustawia je odpowiednio na miejscach od 0 do 3 w bicie. Ok, ale potem w funkcji _lcd_read_byte my przesuwamy odczytaną wartość o 4 miejsca w lewo i odczytujemy 4 kolejne bity. Problem w tym, że mam wrażenie, że  np. jeśli wartość do odczytu to bitowo: 0b11001001, to po wywołaniu tej funkcji otrzymamy wartość: 0b10011001. Czyli w moim rozumieniu odczytamy dwa razy młodszą część bajtu tylko, że raz ją przesuniemy o 4 w lewo a drugi raz nie. Czy ktoś może mi wytłumaczyć jak to jest naprawdę i jak to działa, że otrzymujemy poprawną wartość, pełny odczytany bajt, a nie dwa razy połówkę bajtu przesuniętą lub nie w lewo, tak jak mi się wydaje?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19199">Frantic</a> — 21 mar 2018, o 22:08</p><hr />
]]></content>
</entry>
</feed>