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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2020-08-12T21:14:46+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23297&amp;mode</id>
<entry>
<author><name><![CDATA[Bystrzacha]]></name></author>
<updated>2020-08-12T21:14:46+01:00</updated>
<published>2020-08-12T21:14:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23297&amp;p=228608#p228608</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23297&amp;p=228608#p228608"/>
<title type="html"><![CDATA[Re: Greenbook - wyświetlacze graficzne]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23297&amp;p=228608#p228608"><![CDATA[
Super, już rozumiem.<br />Dziękuję bardzo <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17681">Bystrzacha</a> — 12 sie 2020, o 21:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2020-08-12T20:35:36+01:00</updated>
<published>2020-08-12T20:35:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23297&amp;p=228607#p228607</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23297&amp;p=228607#p228607"/>
<title type="html"><![CDATA[Re: Greenbook - wyświetlacze graficzne]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23297&amp;p=228607#p228607"><![CDATA[
Na początek fakty:<br />zmienna X1 jest typu int czyli 16 bitów<br />zmienna argument funkcji Write_data jest typu uint8_t.<br />I teraz zapis Write_data(X1&gt;&gt;8) powoduje ni mniej ni więcej przesunięcie w prawo o 8 pozycji zmiennej X1 i przekazanie 8 najmłodszych bitów (a niejako przez wcześniejsze przesunięcie 8 najstarszych zmiennej X1) do funkcji, jako że jej argument jest 8-bitowy to z automatu brana jest tylko część najmłodsza.<br />[syntax=c]int X1 = XXXXXXXXYYYYYYYY;<br />X1&gt;&gt;8; // daje w wyniku 00000000XXXXXXXX<br />Write_data(XXXXXXXX);// finalnie funkcja operuje na starszej części zmiennej X1[/syntax]<br />W drugim zapisie Write_data(X1) dziej się tak samo, tzn. brana jest tylko najmłodsza część zmiennej X1, ale tu jest przekazywana bez przesunięcia.<br />[syntax=c]int X1 = XXXXXXXXYYYYYYYY;<br />Write_data(YYYYYYYY);// finalnie funkcja operuje na młodszej części zmiennej X1[/syntax]<br />Podsumowując w pierwszym wywołaniu funkcji dzięki przesunięciu jest wysyłany starszy bajt zmiennej X1, w drugim młodszy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 12 sie 2020, o 20:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bystrzacha]]></name></author>
<updated>2020-08-12T19:33:35+01:00</updated>
<published>2020-08-12T19:33:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23297&amp;p=228606#p228606</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23297&amp;p=228606#p228606"/>
<title type="html"><![CDATA[Greenbook - wyświetlacze graficzne]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23297&amp;p=228606#p228606"><![CDATA[
Witam, zaczałem właśnie czytać temat o wyświetlaczach graficznych i nie rozumiem jednej funkcji.<br />(X1= 320)<br /><br />[syntax=c]void Write_data(uint8_t data) {<br />   PORTC &amp;= ~IC_CS;<br />   PORTC &amp;= ~IC_WR;<br />   DATA_PORT = data;<br />   PORTC |= IC_CS;<br />   PORTC |= IC_WR;<br />}[/syntax]<br /><br />[syntax=c]void Set_active_window( int X1, int X2, int Y1, int Y2) {<br />   Write_command(0x2a);<br />   Write_data(X1&gt;&gt;8);<br />   Write_data(X1);<br />}[/syntax]<br /><br />Nie rozumiem jak działa zapis Write_data(X1&gt;&gt;8) i Write_data(X1), bo przecież liczba X1 jest dużo większa od maksymalnej pojemności zmiennej data w funkcji Write_data( przecież tam jest uint8_t więc max. to 255)<br /><br />Jeśli byłby ktoś tak dobry to proszę o rozrysowanie tej ostatniej funkcji na kartce( w sensie przesunięcia bitowe). Będę wdzięczny:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17681">Bystrzacha</a> — 12 sie 2020, o 19:33</p><hr />
]]></content>
</entry>
</feed>