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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-07-03T13:31:24+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=3438&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-07-03T13:31:24+01:00</updated>
<published>2013-07-03T13:31:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3438&amp;p=40739#p40739</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3438&amp;p=40739#p40739"/>
<title type="html"><![CDATA[Re: Funkcja data_dir_out() / data_dir_in() - przykład 5.5 LC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3438&amp;p=40739#p40739"><![CDATA[
No właśnie mi się to bardzo podoba gdy ktoś próbuje sam robić - bo nie ma lepszej metody na zrozumienie....<br /><br />ale na wypadek kłopotów - sam widzisz - że sporo napracowałem się nad kodami źródłowymi na DVD i chyba warto się właśnie w takich chwilach nimi wesprzeć <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 lip 2013, o 13:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[robert95]]></name></author>
<updated>2013-07-03T12:37:04+01:00</updated>
<published>2013-07-03T12:37:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3438&amp;p=40735#p40735</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3438&amp;p=40735#p40735"/>
<title type="html"><![CDATA[Re: Funkcja data_dir_out() / data_dir_in() - przykład 5.5 LC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3438&amp;p=40735#p40735"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />pokazałeś jakieś dwie funkcje data_dir_out() ale różnie napisane ? o co tu chodzi ?<br /></div><br />Co nagle to po diable... ehh, druga funkcja to data_dir_in().<br />Czy one są zawarte w bibliotekach, które dołączane są do pliku *.c? Jeżeli tak, to rzeczywiście bez sensu tworzenie własnych, ale nie wiedziałem o tym, po prostu w książce pisze tak, jakby funkcja data_dir_out() była napisana, a data_dir_in() jest bardzo podobna, tyle że ja tej funkcji data_dir_out() nie mogę znaleźć...<br /><br />Oto funkcje:<br />[syntax=c]//************************************************************************************<br />//Funkcja ustawiająca piny, do których są podłączone linie danych D4..D7 jako wyjścia<br />//************************************************************************************<br />static inline void data_dir_out(void)<br />{<br />DDR(LCD_D4PORT) |= (1&lt;&lt;LCD_D4);<br />DDR(LCD_D5PORT) |= (1&lt;&lt;LCD_D5);<br />DDR(LCD_D6PORT) |= (1&lt;&lt;LCD_D6);<br />DDR(LCD_D7PORT) |= (1&lt;&lt;LCD_D7);<br />}<br /><br />//************************************************************************************<br />//Funkcja ustawiająca piny, do których są podłączone linie danych D4..D7 jako wejścia<br />//************************************************************************************<br />static inline void data_dir_in(void)<br />{<br />DDR(LCD_D4PORT) &amp;= ~(1&lt;&lt;LCD_D4);<br />DDR(LCD_D5PORT) &amp;= ~(1&lt;&lt;LCD_D5);<br />DDR(LCD_D6PORT) &amp;= ~(1&lt;&lt;LCD_D6);<br />DDR(LCD_D7PORT) &amp;= ~(1&lt;&lt;LCD_D7);<br />}[/syntax]<br /><br />Jeżeli te funkcje są gdzieś zawarte, to dokładnie w jakiej bibliotece, panie Mirku? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />No chyba że ty w ogóle nie korzystasz z DVD i kodów na niej zawartych - no to już hmmm nie wiem ... a masz tam wszystko jak trzeba - oczywiście po uwzględnieniu aktualizacji do LCD ze strony atnel bo też akurat do LCD jest<br /></div><br />Staram się pisać kody samemu, a nie brać gotowe z płyty - owszem można w ramach porównania sprawdzić, ale już taki jestem, jak mówił Konfucjusz: &quot;... daj mi zrobić, a zrozumiem.&quot;<br /><span style="text-decoration: underline">Zwracam honor, panie Mirosławie - rzeczywiście na płycie w pliku nagłówkowym wszystko jest i to jest opisane - miodzio.</span> <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1427">robert95</a> — 3 lip 2013, o 12:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-07-03T12:31:31+01:00</updated>
<published>2013-07-03T12:31:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3438&amp;p=40734#p40734</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3438&amp;p=40734#p40734"/>
<title type="html"><![CDATA[Re: Funkcja data_dir_out() / data_dir_in() - przykład 5.5 LC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3438&amp;p=40734#p40734"><![CDATA[
hmm pomógłbym ale uwierz mi kompletnie nie rozumiem o co ci chodzi w tym co napisałeś ? <br /><br />pokazałeś jakieś dwie funkcje data_dir_out() ale różnie napisane ? o co tu chodzi ?<br /><br />pytasz czy coś tam masz dodać do pliku nagłówkowego - a po co pytam się ? skoro te biblioteki działają<br /><br />no chyba że piszesz własne od nowa - to rozumiem .... ale nie potrafię dostrzec konkretnego pytania - same sprzeczności<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />No chyba że ty w ogóle nie korzystasz z DVD i kodów na niej zawartych - no to już hmmm nie wiem ... a masz tam wszystko jak trzeba - oczywiście po uwzględnieniu aktualizacji do LCD ze strony atnel bo też akurat do LCD jest<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 lip 2013, o 12:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[robert95]]></name></author>
<updated>2013-07-03T12:15:32+01:00</updated>
<published>2013-07-03T12:15:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3438&amp;p=40730#p40730</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3438&amp;p=40730#p40730"/>
<title type="html"><![CDATA[Funkcja data_dir_out() / data_dir_in() - przykład 5.5 LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3438&amp;p=40730#p40730"><![CDATA[
Witam.<br />Znów dopadła mnie wątpliwość, ale wolę zapytać...<br />W przykładzie 5.5 LCD w niebieskiej książce mamy np. w funkcji odczytu bajtu danych z linii danych LCD funkcję data_dir_in(), ale w komentarzu jest napisane: &quot;Nie będę jej już podawał, ponieważ jest  praktycznie taka sama jak data_dir_out(), tyle że zamiast ustawiać bity rejestrów DDRx na jedynki, tu ustawiamy je na zera.&quot; - wszystko jak dla mnie jasne i przejrzyste, ale czy muszę dokonać definicji tej funkcji w pliku nagłówkowym sam? W książce nie jest ona podana, a więc postanowiłem napisać ją samemu, choć nie wiem czy robię dobrze - tu pies pogrzebany:<br /><br />Oto i one:<br />[syntax=c]//************************************************************************************<br />//Funkcja ustawiająca piny, do których są podłączone linie danych D4..D7 jako wyjścia<br />//************************************************************************************<br />static inline void data_dir_out(void)<br />{<br />DDR(LCD_D4PORT) |= (1&lt;&lt;LCD_D4);<br />DDR(LCD_D5PORT) |= (1&lt;&lt;LCD_D5);<br />DDR(LCD_D6PORT) |= (1&lt;&lt;LCD_D6);<br />DDR(LCD_D7PORT) |= (1&lt;&lt;LCD_D7);<br />}<br /><br />//************************************************************************************<br />//Funkcja ustawiająca piny, do których są podłączone linie danych D4..D7 jako wejścia<br />//************************************************************************************<br />static inline void data_dir_out(void)<br />{<br />DDR(LCD_D4PORT) &amp;= ~(1&lt;&lt;LCD_D4);<br />DDR(LCD_D5PORT) &amp;= ~(1&lt;&lt;LCD_D5);<br />DDR(LCD_D6PORT) &amp;= ~(1&lt;&lt;LCD_D6);<br />DDR(LCD_D7PORT) &amp;= ~(1&lt;&lt;LCD_D7);<br />}[/syntax]<br /><br />Po pierwsze, użyłem funkcji statycznych inline, a po drugie są to funkcje, do których nie przekazujemy argumentów, stąd zapis data_dir_(<span style="color: #FF0000">void</span>). Funkcja także nie zwraca nam żadnej &quot;wartości&quot;, a więc stąd typ pusty <span style="color: #FF0000">void</span> data_dir_out(void). Analogicznie potraktowałem funkcję data_dir_in(). Czy dobrze rozumuję, czy jednak się pogubiłem?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1427">robert95</a> — 3 lip 2013, o 12:15</p><hr />
]]></content>
</entry>
</feed>