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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-02-03T16:39:27+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=5794&amp;mode</id>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-02-03T16:39:27+01:00</updated>
<published>2014-02-03T16:39:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5794&amp;p=68207#p68207</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5794&amp;p=68207#p68207"/>
<title type="html"><![CDATA[Re: LCD HD44780 na 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5794&amp;p=68207#p68207"><![CDATA[
A linie RW masz podłączoną do GND. Poprzez rejestr przesuwny nie będziesz odczytywał Busy Flag więc RW może być na stałe do GND podłączone. <br /><br />Sekwencja wysłania jednego znaku powinna wyglądać tak:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">RS = 1<br />E = 1<br />starszy połbajt<br />E = 0<br /><br />E = 1<br />młodszy półbajt<br />E = 0<br /></div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 3 lut 2014, o 16:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[arturf209]]></name></author>
<updated>2014-02-03T14:19:33+01:00</updated>
<published>2014-02-03T14:19:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5794&amp;p=68182#p68182</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5794&amp;p=68182#p68182"/>
<title type="html"><![CDATA[Re: LCD HD44780 na 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5794&amp;p=68182#p68182"><![CDATA[
A powiedz mi kolego jaki to ma związek z moim pytaniem? <br />Konkretnie chodzi o to w jaki sposób mają być przesyłane dane do HD44780, kolejność, piny RS, E etc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=801">arturf209</a> — 3 lut 2014, o 14:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[karolek]]></name></author>
<updated>2014-02-03T13:54:09+01:00</updated>
<published>2014-02-03T13:54:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5794&amp;p=68181#p68181</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5794&amp;p=68181#p68181"/>
<title type="html"><![CDATA[Re: LCD HD44780 na 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5794&amp;p=68181#p68181"><![CDATA[
jest poradnik na temat rejestru przesuwnego na yt<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2535">karolek</a> — 3 lut 2014, o 13:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[arturf209]]></name></author>
<updated>2014-02-02T19:21:54+01:00</updated>
<published>2014-02-02T19:21:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5794&amp;p=68075#p68075</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5794&amp;p=68075#p68075"/>
<title type="html"><![CDATA[LCD HD44780 na 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5794&amp;p=68075#p68075"><![CDATA[
Witam wszystkich, staram się napisać bibliotekę do obsługi wyświetlacza LCD 2x16 na HD44780 za pomocą rejestru przesuwnego 74HC595.<br /><br />Z SPI nie było problemów, wszystko poszło gładko. <br />LCD udało mi się zainicjalizować i wprowadzić w tryb 4 bitowy<br /><br />Mam za to problem ze zrozumieniem w jaki sposób mam przesłać już konkretny znak na wyświetlacz. <br /><br />Staram się podglądać bibliotekę Mirka ale coś mi nie wychodzi...<br /><br />Napisałem o taką funkcję do wysyłania znaku:<br />[syntax=c]void LCD_write_data(uint8_t data)<br />{<br />SendByteSPI(255 &amp; LCD_RS);<br /><br />uint8_t temp = 0;<br /><br />temp = (128 &amp; (data&gt;&gt;4)) | LCD_E | LCD_RS;<br />SendByteSPI(temp);<br />SendByteSPI(255 &amp; (~LCD_E));<br /><br />temp = 0;<br /><br />temp = (128 &amp; data) | LCD_E | LCD_RS;<br />SendByteSPI(temp);<br />SendByteSPI(255 &amp; (~LCD_E));<br /><br />}[/syntax]<br /><br />Funkcja ma wysłać najpierw starszą część bajtu a później młodszą. <br />Ustawiam również piny E i RS jako wysokie a po wysłaniu E od razu na stan niski. <br /><br />Na 4 młodszych bitach mam podłączone D7-D4 <br />[syntax=c]#define LCD_D7 0<br />#define LCD_D6 (1&lt;&lt;1)<br />#define LCD_D5 (1&lt;&lt;2)<br />#define LCD_D4 (1&lt;&lt;3)<br /><br />#define LCD_RS (1&lt;&lt;5)<br />#define LCD_RW (1&lt;&lt;6)<br />#define LCD_E (1&lt;&lt;7)<br /><br />#define LCD_BL (1&lt;&lt;4)[/syntax]<br /><br />Nie wiem gdzie robię błąd, ale na wyświetlaczu ani drgnie...<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 41 minutach ]</span></strong><br /><br />Rozumiem, że trzeba:<br /><br />RS - 1<br />E - 1<br />Wysłać dane, RS -1 , E - 1<br />Później E - 0 <br /><br />I znów to samo tylko z drugą częścią bajtu?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=801">arturf209</a> — 2 lut 2014, o 19:21</p><hr />
]]></content>
</entry>
</feed>