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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-07-17T21:58:19+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=5&amp;t=12370&amp;mode</id>
<entry>
<author><name><![CDATA[Wirnick]]></name></author>
<updated>2015-07-17T21:58:19+01:00</updated>
<published>2015-07-17T21:58:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12370&amp;p=134850#p134850</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12370&amp;p=134850#p134850"/>
<title type="html"><![CDATA[Re: LCD z bluebooka pzresuniecie bitowe]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12370&amp;p=134850#p134850"><![CDATA[
<div class="quotetitle">major697 napisał(a):</div><div class="quotecontent"><br />A więc starszą część wyzerujemy i czy takie działanie jest poprawne, nie powinniśmy wyzerować młodszej części ??<br /></div><br />Wartość _data jest niezmienna, natomiast wynik operacji przesunięcia(dzielenia przez 16) jest liczbą całkowitą (część ułamkowa idzie w zapomnienie). Przy przekazaniu na LCD młodszej części _data dokonuje się maskowania(zakrycia zerami) części starszej niezmiennej _data .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9272">Wirnick</a> — 17 lip 2015, o 21:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2015-07-17T21:23:20+01:00</updated>
<published>2015-07-17T21:23:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12370&amp;p=134847#p134847</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12370&amp;p=134847#p134847"/>
<title type="html"><![CDATA[Re: LCD z bluebooka pzresuniecie bitowe]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12370&amp;p=134847#p134847"><![CDATA[
Spójrz na funkcję lcd_sendHalf. W jej wnętrzu &quot;próbkowane&quot; są cztery najmłodsze bity wysyłanego bajtu. Więc żeby wysłać cztery starsze bity trzeba je najpierw przesunąć w prawo tak aby się znalazły w miejscu &quot;próbkowanych&quot; młodszych bitów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 17 lip 2015, o 21:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jerrylu]]></name></author>
<updated>2015-07-17T21:21:58+01:00</updated>
<published>2015-07-17T21:21:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12370&amp;p=134845#p134845</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12370&amp;p=134845#p134845"/>
<title type="html"><![CDATA[Re: LCD z bluebooka pzresuniecie bitowe]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12370&amp;p=134845#p134845"><![CDATA[
Rozwiązanie Twojego dylematu leży w kodzie wywoływanej funkcji, tzn. 'lcd_sendHalf'<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br />A kod w książce jest oczywiście poprawny, żeby nie było wątpliwości.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8719">jerrylu</a> — 17 lip 2015, o 21:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[major697]]></name></author>
<updated>2015-07-17T21:02:53+01:00</updated>
<published>2015-07-17T21:02:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12370&amp;p=134841#p134841</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12370&amp;p=134841#p134841"/>
<title type="html"><![CDATA[LCD z bluebooka pzresuniecie bitowe]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12370&amp;p=134841#p134841"><![CDATA[
Cześć w BB wydanie I jest taki oto (kawałek) kodu:<br /><br />[syntax=c]void _lcd_write_byte(unsigned char _data)<br />{<br />// Ustawienie pinów portu LCD D4..D7 jako wyjścia<br />data_dir_out();<br /><br />#if USE_RW == 1<br />CLR_RW;<br />#endif<br /><br />SET_E;<br />lcd_sendHalf(_data &gt;&gt; 4);// wysłanie starszej części bajtu danych D7..D4<br />CLR_E;<br /><br />SET_E;<br />lcd_sendHalf(_data);// wysłanie młodszej części bajtu danych D3..D0<br />CLR_E;<br /><br />#if USE_RW == 1<br />while( (check_BF() &amp; (1&lt;&lt;7)) );<br />#else<br />_delay_us(120);<br />#endif<br /><br />}[/syntax]<br /><br /><br />I mam pytanie odnośnie linijki 11 <br /><br />[syntax=c]lcd_sendHalf(_data &gt;&gt; 4);[/syntax] <br /><br />Czy w tym miejscu nie powinno byc przesunięcia bitowego w lewo tzn. tak:<br /><br />lcd_sendHalf(_data<span style="color: #FF0000">&lt;&lt;</span> 4);  <br /><br />Pytam bo mam wątpliwość w książce jest napisane, że przesyłamy starszą część bajtu czyli bity D7...D4 a z tego przykłady rozumiem, to tak:<br /><br />np mamy zmienną _data opisaną wartością:<br /><br /><strong><span style="color: #FF0000">1101</span><span style="color: #4080FF">1100</span></strong><br /><br />część starszą bitu zaznaczyłem na <span style="color: #FF0000">czerwono</span>, młodsza na <span style="color: #4080FF">niebiesko</span>.<br />Więc po przesunięciu bitowym o 4 miejsca w prawo będzie:<br />0000<span style="color: #FF0000">1101</span><br /><br />A więc starszą część wyzerujemy i czy takie działanie jest poprawne, nie powinniśmy wyzerować młodszej części ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9797">major697</a> — 17 lip 2015, o 21:02</p><hr />
]]></content>
</entry>
</feed>