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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-09-02T07:41:38+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=4042&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-09-02T07:41:38+01:00</updated>
<published>2013-09-02T07:41:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47855#p47855</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47855#p47855"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47855#p47855"><![CDATA[
<div class="quotetitle">MrWeb123 napisał(a):</div><div class="quotecontent"><br />Czyli podsumowując cały ten cyrk z porównywaniem bitów był niejako zbędny ?<br /></div><br /><br />PDF jak widzisz się przydał bo masz w nim ślicznie opisane adresy pamięci RAM a rzadko który PDF to opisuje <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Co do czasów ... to musisz zrozumieć, że sterownik HD44780 jest stary jak świat, pewnie narodził się nawet wcześniej niż ty. Jest on po prostu powielany przez wiele firm i najczęściej działa typowo .... dlatego są to bardzo bardzo rzadkie przypadki gdy mamy na tym polu jakieś odstępstwa od standardu <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> — 2 wrz 2013, o 07:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-09-02T06:44:27+01:00</updated>
<published>2013-09-02T06:44:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47854#p47854</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47854#p47854"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47854#p47854"><![CDATA[
@<strong>1bobik1</strong>, Tak, te adresy były zmienione i dwie dolne linie były przesunięte o kilka miejsc w prawo, ale już wszystko działa, bo wystarczyło adresy zmienić tak jak o tym pisał Antystatyczny. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />@<strong>sq8dsr</strong>,<br /><div class="quotetitle">sq8dsr napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">Antystatyczny napisał(a):</div><div class="quotecontent">Dobra, masz nauczkę, że stykówka to ZUO<br /></div><br /><br />Może nie do końca ZUO, ale uważać trzeba. Ja się sporo nauczyłem dzięki stykówkom, przynajmniej na początku.<br /></div><br /><br />Zuem nie jest bo ktoś jednak miał dobre zamiary wymyślając stykówkę, i faktycznie pomysł jest super ale przez pierwsze kilka dni/tygodni, a ja mam tą stykówkę od ponad roku, bo w sumie to na niej nauczyłem się podpinać diodę przez rezystor <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br />więc jak najbardziej oczywiste że niektóre blaszki już są bardziej rozjechane od innych <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ale to właśnie przez tą stykówkę<br />cały dzień przerabiałem libsa a tu się okazało że nawet na stockowym wszystko działa...<br /><br />...i tu pojawia się moje pytanie, zrobiłem tak jak Mirek pisał w bluebook'u, tj. otworzyłem datasheet'a mojego wyświetlacza, przeanalizowałem go z informacjami podanymi w ksiązce, nawet pokusiłem się o schemat logiczny inicjalizacji lcdka wg którego miałem napisać od nowa całą funkcję lcd_init() <br />ale po fakcie okazuje się że to wszystko było bez sensu bo nawet z tak wielkimi rozbierznościami (w libsie były przerwy co 100ms a ja miałem w pdfie 39us ) to wszystko działa jak by nigdy nic się nie stało. <br /><em>Dlaczego ? Czy to znaczy że pdf nie ma aż takiego dużego znaczenia w życiu wyświetlaczy ? </em><br /><br />Jak można się domyślić, całą funkcję którą pisałem z Antystatycznym i sq8dsr usunąłem, bo okazało się że oryginalna lcd_init() działa pięknie... Zmieniłem tylko adresy linijek bo tekst był lekko przesunięty.<br /><br /><em>Czyli podsumowując cały ten cyrk z porównywaniem bitów był niejako zbędny ?</em><br /><br /><br />Aha, co do tych płytek i zestawu uruchomieniowego, zapraszam kolegę na PW <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><strong>@mg101</strong>, mała poprawka, Forum i Mirek* jest genialne!!!<br />*Antystatyczny pomagał cały dzień ( pół dnia na chacie a pół na forum ) a przyszedł sobie taki jeden Mirek <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> i tak sobie pomyślał:<br /><br />if(problem &amp;&amp; stykówka)  błąd_w_połączeniach();<br /><br />else<br /><br />if(problem &amp;&amp; ( ! ( stykówka ) ) )  rozwiąż();<br /><br /> <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" />  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1480">MrWeb123</a> — 2 wrz 2013, o 06:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[1bobik1]]></name></author>
<updated>2013-09-02T05:25:33+01:00</updated>
<published>2013-09-02T05:25:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47851#p47851</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47851#p47851"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47851#p47851"><![CDATA[
Mamy rozumieć że już na wszystkich liniach wyświetla OK ?<br /><br />Bo z tego co widzę to miałeś złe adresowanie. <br />Chodzi mi o fragment:<br />#if ( (LCD_Y == 4) &amp;&amp; (LCD_X == 16) )<br />#define LCD_LINE1 0x00// adres 1 znaku 1 wiersza<br />#define LCD_LINE2 0x28// adres 1 znaku 2 wiersza<br />#define LCD_LINE3 0x14  // adres 1 znaku 3 wiersza<br />#define LCD_LINE4 0x54  // adres 1 znaku 4 wiersza<br />#else<br />#define LCD_LINE1 0x00// adres 1 znaku 1 wiersza<br />#define LCD_LINE2 0x40// adres 1 znaku 2 wiersza<br />#define LCD_LINE3 0x14  // adres 1 znaku 3 wiersza<br />#define LCD_LINE4 0x54  // adres 1 znaku 4 wiersza<br />#endif<br /><br />U Ciebie adresy powinny wyglądać tak:<br />00<br />40 <br />10<br />50<br />Przynajmniej to mówi datasheet który zapodałeś.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=464">1bobik1</a> — 2 wrz 2013, o 05:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-01T19:50:26+01:00</updated>
<published>2013-09-01T19:50:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47803#p47803</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47803#p47803"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47803#p47803"><![CDATA[
<div class="quotetitle">Antystatyczny napisał(a):</div><div class="quotecontent"><br />Dobra, masz nauczkę, że stykówka to ZUO<br /></div><br /><br />Może nie do końca ZUO, ale uważać trzeba. Ja się sporo nauczyłem dzięki stykówkom, przynajmniej na początku.<br /><br />Na zestaw ATB na razie nie bardzo mogę sobie pozwolić, choć bym chciał i jeszcze ten czas przyjdzie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Na razie stosuję metodę polecaną przez Antystatycznego:<br /><br /><a href="https://www.dropbox.com/s/ye1nth3ddk8e626/20130901_201459.jpg"  class="postlink">https://www.dropbox.com/s/ye1nth3ddk8e626/20130901_201459.jpg</a><br /><br />Na dolnej płytce jest AT88, MAX232, 74594 z monitorowaniem bitów, dzielkin napięcia z wieloobrotowym potencjometrem dolnym, dobra filtracja (co widać przy pracy ADC), zrobione złącze KANDA, RS232 i wyświetlacz HD44780. Stopniowo coś tam dodaję jeszcze.<br />Na górnej jest AT32, kawałek klawiatury, 7805, TSOP do IR'a, regulowane podciąganie 1-wire, i oczywiście KANDA. <br />W górnym lewym roku wyświetlacz który ostatnio ćwiczyłem, piękne ledowe cudeńko <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=1589">sq8dsr</a> — 1 wrz 2013, o 19:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mg101]]></name></author>
<updated>2013-09-01T19:12:29+01:00</updated>
<published>2013-09-01T19:12:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47794#p47794</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47794#p47794"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47794#p47794"><![CDATA[
Forum jest genialne!!!!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=683">mg101</a> — 1 wrz 2013, o 19:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-09-01T17:57:06+01:00</updated>
<published>2013-09-01T17:57:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47784#p47784</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47784#p47784"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47784#p47784"><![CDATA[
1. Dziękuję wszystkim za pomoc, problem rozwiązany, za chwilę rozdam po jednym &quot;pomógł&quot; dla każdego <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />2. Wyświetlacz działa na libsie od Mirka a ja już nie wiem jakie kary mogę sobie wymyślić więc pozwólcie że po prostu nacieszę się sukcesem <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />3. <img src="http://i.imgur.com/nDPJW.gif" alt="Obrazek" /> Fajny ten gif, ustawię go sobie na avatar <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /><br />4. <img src="http://t1.gstatic.com/images?q=tbn:ANd9GcQbKTCY4M-xBMnM72Mo3LG8Am4XYBCFOi1djJqboA-QVR9oTSWjFNsFaQ" alt="Obrazek" /><br /><br />5. Nie wiem co teraz zrobić z tą stykówką... jakieś podpowiedzi ?<br /><br />6. Jeszcze raz dziękuję <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=1480">MrWeb123</a> — 1 wrz 2013, o 17:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-09-01T17:40:25+01:00</updated>
<published>2013-09-01T17:40:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47781#p47781</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47781#p47781"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47781#p47781"><![CDATA[
@ <strong><span style="color: #00AA00">Antystatyczny</span></strong>, nie rozumiem... ustawiając coś takiego:<br />[syntax=c]// rozdzielczość wyświetlacza LCD (wiersze/kolumny)<br />#define LCD_Y 2// ilość wierszy wyświetlacza LCD<br />#define LCD_X 16// ilość kolumn wyświetlacza LCD[/syntax]<br />zostaje wyświetlony tekst lilinia3 na pierwsziej linii i tylko tyle...<br /><br />a ustawiając tak<br />[syntax=c]// rozdzielczość wyświetlacza LCD (wiersze/kolumny)<br />#define LCD_Y 4// ilość wierszy wyświetlacza LCD<br />#define LCD_X 16// ilość kolumn wyświetlacza LCD[/syntax]<br />mam <br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">+----------------+<br />|linia1          |<br />|                |<br />|    linia3      |<br />|                |<br />+----------------+</div><br /><br />Hehehe, zapamiętam <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=1480">MrWeb123</a> — 1 wrz 2013, o 17:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-01T17:25:02+01:00</updated>
<published>2013-09-01T17:25:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47779#p47779</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47779#p47779"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47779#p47779"><![CDATA[
I znowu Mirek miał rację <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Połączenia....<br /><br />A z tymi liniami to pewnie są jakieś różnice w zakresach adresów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 1 wrz 2013, o 17:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-09-01T17:21:48+01:00</updated>
<published>2013-09-01T17:21:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47778#p47778</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47778#p47778"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47778#p47778"><![CDATA[
AAAAA  PRZEŁOMM! <br />Przepraszam za takie pisanie ale pokazały się napisy !! <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <br />Już tłumaczę...<br />W akcie desperacji zacząłem kręcić kontrastem jak szalony w jedną i drugą stronę i oczywiście nic. Ale wystarczyło dopchnąć jeden kabelek na kociej stykówce by ukazały się moje kochane linie <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Jest tylko mały problem, bo wyświetla mi się tylko linia 1 i linia 3 a pod nimi kwadraciki. Ekran zachowuje się tak jakby miał tylko 2 linie... Niemniej, to działaaaaa ! <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> a już myślałem że życie programisty amatora to tylko nerwy i małe sukcesy... a tu tyle radości z połowicznego sukcesu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1480">MrWeb123</a> — 1 wrz 2013, o 17:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-09-01T16:59:03+01:00</updated>
<published>2013-09-01T16:59:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47774#p47774</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47774#p47774"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47774#p47774"><![CDATA[
main.c[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;makra/makra.h&quot;<br />#include &quot;LCD/lcd44780.h&quot;<br /><br />int main(void)<br />{<br /><br />  lcd_init();<br /><br />  lcd_locate(0,0);<br />  lcd_str(&quot;linia1&quot;);<br />  lcd_locate(1,0);<br />  lcd_str(&quot;linia2&quot;);<br />  lcd_locate(2,0);<br />  lcd_str(&quot;linia3&quot;);<br />  lcd_locate(3,0);<br />  lcd_str(&quot;linia4&quot;);<br /><br />  while(1);<br /><br />}[/syntax]<br /><br />wycinek z lcd44780.h[syntax=c]//----------------------------------------------------------------------------------------<br />// rozdzielczość wyświetlacza LCD (wiersze/kolumny)<br />#define LCD_Y 4// ilość wierszy wyświetlacza LCD<br />#define LCD_X 16// ilość kolumn wyświetlacza LCD<br /><br />// tu ustalamy za pomocą zera lub jedynki czy sterujemy pinem RW<br />//0 - pin RW podłączony na stałe do GND<br />//1 - pin RW podłączony do mikrokontrolera<br />#define USE_RW 1<br /><br />//----------------------------------------------------------------------------------------<br />//<br />//Ustawienia sprzętowe połączeń sterownika z mikrokontrolerem<br />//<br />//----------------------------------------------------------------------------------------<br />// tu konfigurujemy port i piny do jakich podłączymy linie D7..D4 LCD<br />#define LCD_D7PORT  A<br />#define LCD_D7 7<br />#define LCD_D6PORT  A<br />#define LCD_D6 6<br />#define LCD_D5PORT  A<br />#define LCD_D5 5<br />#define LCD_D4PORT  A<br />#define LCD_D4 4<br /><br /><br />// tu definiujemy piny procesora do których podłączamy sygnały RS,RW, E<br />#define LCD_RSPORT A<br />#define LCD_RS 0<br /><br />#define LCD_RWPORT A<br />#define LCD_RW 1<br /><br />#define LCD_EPORT A<br />#define LCD_E 2[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1480">MrWeb123</a> — 1 wrz 2013, o 16:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-09-01T17:10:24+01:00</updated>
<published>2013-09-01T16:36:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47771#p47771</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47771#p47771"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47771#p47771"><![CDATA[
Sprawdzałem połączenia brzęczykiem ( tylko to mi się zostało po mierniku <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ) i teraz tak...<br />Brzęczyk (1) był wpięty katodą do minusa a anodą do kabelka (2) którym dotykałem po kolei piny (4) wyświetlacza. Te piny były z kolei podłączone do nóżek ATmegi, do których z kolei dotykałem kabelkiem (3) wpiętym w &quot;+&quot;. Dziwnie to opisałem więc wrzucę zdjęcie połączeń : <br /><a href="http://forum.atnel.pl/_obrazki/o/1480/27783d74108ccf554e2f3041cff1a2bf.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1480/27783d74108ccf554e2f3041cff1a2bf.jpg" alt="Obrazek" /></a><br /><br />Po kolei dotykam jednym i drugim kabelkiem i słyszę pisk więc wszystko ok, jest połączenie. I tak było wszędzie oprócz pinu RW przy lcd'ku. Bo nawet nie musiałem zamykać obwodu przez drugi kabelek a brzęczyk już piszczał. Co to znaczy ? Wychodzi na to że na wszystkich liniach jest stan 0 ale na linii RW jest 1 bo brzęczyk piszczy. Testowałem to dalej i okazało się że po odpięciu pinu RW wyświetlacza od pinu PA1 mikroklocka, brzęczyk przestał piszczeć. <br />Czyli :<br />Na wszystkich liniach jest tak jak powinno być oprócz linii PA1 która ma ustawiony stan 1. Dlaczego ? nie wiem ale tak chyba nie powinno być. Inaczej mówiąc : PA0..7 jest ustawione na 0, ale PA1 jest ustawiony na 1.<br /><br />Na zdjęciu widać również rezystor wpięty między + podświetlenia i ścieżką napięcia, dzięki czemu wystarczy że na nóżkę 16 lcdka podam 0 to podświetlenie się włączy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Potencjometr do kontrastu jest precyzyjny ( 10k )bo taki akurat miałem w moim składziku <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /><br />Dodatkowo jak widać na zdjęciu wywaliłem kwarc zmieniając wcześniej fusebity. Nie zrobi to chyba większej różnicy <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=1480">MrWeb123</a> — 1 wrz 2013, o 16:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-01T16:09:20+01:00</updated>
<published>2013-09-01T16:09:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47767#p47767</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47767#p47767"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47767#p47767"><![CDATA[
Pewnie jakiś &quot;czeski&quot; błąd. Czasem są są takie pomyłki, że aż można się uśmiać. Przykładowo, ja kiedyś przez godzinę nie mogłem pojąć co się dzieje, czemu nie działa itd. I okazało się, że kompiluję jeden projekt, ale w eclipsie, w drzewie projektu kursor stoi na innym projekcie więc wsad HEX jest wgrywany z niego a nie z tego co kompilowałem <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 1 wrz 2013, o 16:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-09-01T15:58:36+01:00</updated>
<published>2013-09-01T15:58:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47766#p47766</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47766#p47766"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47766#p47766"><![CDATA[
<strong>@sq8dsr</strong>, do każdego _delay_ms() i _delay_us() dodałem po 5 więc całość wygląda tak :<br />[syntax=c]void lcd_init(void)<br />{<br />        // inicjowanie pinów portów ustalonych do podłączenia z wyświetlaczem LCD<br />        // ustawienie wszystkich jako wyjścia<br />        data_dir_out();<br />        DDR(LCD_RSPORT) |= (1&lt;&lt;LCD_RS);<br />        DDR(LCD_EPORT) |= (1&lt;&lt;LCD_E);<br />        #if USE_RW == 1<br />                DDR(LCD_RWPORT) |= (1&lt;&lt;LCD_RW);<br />        #endif<br /><br />        PORT(LCD_RSPORT) |= (1&lt;&lt;LCD_RS);<br />        PORT(LCD_EPORT) |= (1&lt;&lt;LCD_E);<br />        #if USE_RW == 1<br />                PORT(LCD_RWPORT) |= (1&lt;&lt;LCD_RW);<br />        #endif<br /><br />        _delay_ms(45);<br />        PORT(LCD_EPORT)  &amp;= ~(1&lt;&lt;LCD_E);<br />        PORT(LCD_RSPORT) &amp;= ~(1&lt;&lt;LCD_RS);<br />        PORT(LCD_RWPORT) &amp;= ~(1&lt;&lt;LCD_RW);<br /><br />        // jeszcze nie można używać Busy Flag<br />        SET_E;<br />        lcd_sendHalf(0x03);     // tryb 8-bitowy<br />        CLR_E;<br />        _delay_us(44);<br /><br />        SET_E;<br />        lcd_sendHalf(0x02);     // tryb 8-bitowy<br />        CLR_E;<br />        _delay_us(44);<br /><br />        SET_E;<br />        lcd_sendHalf(0x02);     // tryb 8-bitowy<br />        CLR_E;<br />        _delay_us(41);<br /><br />        SET_E;<br />        lcd_sendHalf(0x12);     // tryb 8-bitowy<br />        CLR_E;<br />        _delay_us(41);<br /><br />        SET_E;<br />        lcd_sendHalf(0x01);// tryb 4-bitowy<br />        CLR_E;<br />        _delay_ms(1.58);<br /><br />        SET_E;<br />        lcd_sendHalf(0x06);// tryb 4-bitowy<br />        CLR_E;<br /><br />        // kasowanie ekranu<br />        lcd_cls();<br />}[/syntax]<br /><br />@ <strong><span style="color: #00AA00">Antystatyczny</span></strong>, całość jest zasilana z portu usb przez programator więc skoki napięcia są możliwe. <br />Rozmontuję wszystko, posprawdzam blaszki i sprawdzę czy połączenia są poprawne. I teraz zostanę pewnie zwyzywany bo nie mam miernika... tzn miałem ale taki za 10zł się rozleciał i chciałem kupić coś lepszego i narazie nie mam gdzie kupić <img src="https://forum.atnel.pl/images/smilies/icon_neutral.gif" alt=":|" title="Średnio zadowolony" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1480">MrWeb123</a> — 1 wrz 2013, o 15:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-01T15:50:49+01:00</updated>
<published>2013-09-01T15:50:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47764#p47764</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47764#p47764"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47764#p47764"><![CDATA[
No właśnie chodziło mi, żeby były większe np 50ms zamiast 40ms, 45us zamiast 39us itd.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 1 wrz 2013, o 15:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-09-01T15:46:43+01:00</updated>
<published>2013-09-01T15:46:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47762#p47762</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47762#p47762"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47762#p47762"><![CDATA[
W tym PDF'ie masz jak wspominał Anty ... kilka innych czasów ale też wartości więc spróbuj z nimi<br /><br />chociaż i tak na końcu coś mi się zdaje że okaże się to winą połączeń - jakimś banalnym błędem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 1 wrz 2013, o 15:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-09-01T15:36:27+01:00</updated>
<published>2013-09-01T15:36:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47757#p47757</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47757#p47757"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47757#p47757"><![CDATA[
Ok, czyli jeśli tamto mogę zignorować to zostaje tylko inicjalizacja i czynnik x w postaci stykówki...<br /><br /><strong>@sq8dsr</strong> po poprawieniu, całość wygląda tak :<br />[syntax=c]void lcd_init(void)<br />{<br />        // inicjowanie pinów portów ustalonych do podłączenia z wyświetlaczem LCD<br />        // ustawienie wszystkich jako wyjścia<br />        data_dir_out();<br />        DDR(LCD_RSPORT) |= (1&lt;&lt;LCD_RS);<br />        DDR(LCD_EPORT) |= (1&lt;&lt;LCD_E);<br />        #if USE_RW == 1<br />                DDR(LCD_RWPORT) |= (1&lt;&lt;LCD_RW);<br />        #endif<br /><br />        PORT(LCD_RSPORT) |= (1&lt;&lt;LCD_RS);<br />        PORT(LCD_EPORT) |= (1&lt;&lt;LCD_E);<br />        #if USE_RW == 1<br />                PORT(LCD_RWPORT) |= (1&lt;&lt;LCD_RW);<br />        #endif<br /><br />        _delay_ms(40);<br />        PORT(LCD_EPORT)  &amp;= ~(1&lt;&lt;LCD_E);<br />        PORT(LCD_RSPORT) &amp;= ~(1&lt;&lt;LCD_RS);<br />        PORT(LCD_RWPORT) &amp;= ~(1&lt;&lt;LCD_RW);<br /><br />        // jeszcze nie można używać Busy Flag<br />        SET_E;<br />        lcd_sendHalf(0x03);<br />        CLR_E;<br />        _delay_us(39);<br /><br />        SET_E;<br />        lcd_sendHalf(0x02);<br />        CLR_E;<br />        _delay_us(39);<br /><br />        SET_E;<br />        lcd_sendHalf(0x02);<br />        CLR_E;<br />        _delay_us(37);<br /><br />        SET_E;<br />        lcd_sendHalf(0x12);<br />        CLR_E;<br />        _delay_us(37);<br /><br />        SET_E;<br />        lcd_sendHalf(0x01);<br />        CLR_E;<br />        _delay_ms(1.53);<br /><br />        SET_E;<br />        lcd_sendHalf(0x06);<br />        CLR_E;<br /><br />        // kasowanie ekranu<br />        lcd_cls();<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1480">MrWeb123</a> — 1 wrz 2013, o 15:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-01T15:22:39+01:00</updated>
<published>2013-09-01T15:22:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47754#p47754</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47754#p47754"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47754#p47754"><![CDATA[
W sekwencji inicjalizacji piszą, żeby oczekiwanie było większe niż xx ms, us. Może zamiast tych wartości 40, 39, 37, 1.53 daj nieco większe żeby nie było &quot;na styk&quot;.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 1 wrz 2013, o 15:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-09-01T15:46:34+01:00</updated>
<published>2013-09-01T15:10:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47750#p47750</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47750#p47750"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47750#p47750"><![CDATA[
@ <strong><span style="color: #00AA00">Antystatyczny</span></strong>, <br /><div class="quotetitle">Antystatyczny napisał(a):</div><div class="quotecontent"><br />A zerknij na stronę 17 datasheeta do lcd <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Masz tam podane opóźnienia podczas inicjalizacji.<br /></div>, właśnie wg tego rysunku przerabiałem lcd_init(), ale czy to znaczy że te ramki czasu ze str 15 i 16 mogę zignorować ?<br /><br /><br /><br /><strong>@sq8dsr</strong> wszystko podpięte w ten sposób:<br />RS = PA0<br />RW = PA1<br />E   = PA2<br /><br />D7 = PA7<br />D6 = PA6<br />D5 = PA5<br />D4 =PA4<br /><br />a tak przy okazji wrzucę main.c <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;makra/makra.h&quot;<br />#include &quot;LCD/lcd44780.h&quot;<br /><br />int main(void)<br />{<br /><br />  lcd_init();<br /><br />  lcd_locate(0,0);<br />  lcd_str(&quot;linia1&quot;);<br />  lcd_locate(1,0);<br />  lcd_str(&quot;linia2&quot;);<br />  lcd_locate(2,0);<br />  lcd_str(&quot;linia3&quot;);<br />  lcd_locate(3,0);<br />  lcd_str(&quot;linia4&quot;);<br /><br />  while(1);<br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1480">MrWeb123</a> — 1 wrz 2013, o 15:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-01T15:02:58+01:00</updated>
<published>2013-09-01T15:02:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47748#p47748</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47748#p47748"/>
<title type="html"><![CDATA[Re: Proźba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47748#p47748"><![CDATA[
A do jakich pinów masz podpięte ?<br /><br />[syntax=c]SET_E;<br />        lcd_sendHalf(0x01);// tryb 4-bitowy<br />        CLR_E;<br />        _delay_ms(1.53);[/syntax]<br /><br /><br />Chyba w delay_ms nie można podać liczby typu float <br />raczej trzeba by dać _delay_us(1530);<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 1 wrz 2013, o 15:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-09-01T14:58:15+01:00</updated>
<published>2013-09-01T14:58:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47745#p47745</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47745#p47745"/>
<title type="html"><![CDATA[Re: Prośba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47745#p47745"><![CDATA[
Ok,  <div class="quotetitle">Antystatyczny napisał(a):</div><div class="quotecontent"><br />zwróciłbym szczególną uwagę na komendy wydawane podczas inicjalizacji,<br /></div> <br />czyli te bity o których rozmawialiśmy ? Tzn gdzie w libsie było 1.1 a w pdfie 1.0 ? <br /><br />Jeśli tak to własnie to przerabiam i napisałem coś takiego : [syntax=c]void lcd_init(void)<br />{<br />        // inicjowanie pinów portów ustalonych do podłączenia z wyświetlaczem LCD<br />        // ustawienie wszystkich jako wyjścia<br />        data_dir_out();<br />        DDR(LCD_RSPORT) |= (1&lt;&lt;LCD_RS);<br />        DDR(LCD_EPORT) |= (1&lt;&lt;LCD_E);<br />        #if USE_RW == 1<br />                DDR(LCD_RWPORT) |= (1&lt;&lt;LCD_RW);<br />        #endif<br /><br />        PORT(LCD_RSPORT) |= (1&lt;&lt;LCD_RS);<br />        PORT(LCD_EPORT) |= (1&lt;&lt;LCD_E);<br />        #if USE_RW == 1<br />                PORT(LCD_RWPORT) |= (1&lt;&lt;LCD_RW);<br />        #endif<br /><br />        _delay_ms(40);<br />        PORT(LCD_EPORT)  &amp;= ~(1&lt;&lt;LCD_E);<br />        PORT(LCD_RSPORT) &amp;= ~(1&lt;&lt;LCD_RS);<br />        PORT(LCD_RWPORT) &amp;= ~(1&lt;&lt;LCD_RW);<br /><br />        // jeszcze nie można używać Busy Flag<br />        SET_E;<br />        lcd_sendHalf(0x03);     // tryb 8-bitowy<br />        CLR_E;<br />        _delay_us(39);<br /><br />        SET_E;<br />        lcd_sendHalf(0x02);     // tryb 8-bitowy<br />        CLR_E;<br />        _delay_us(39);<br /><br />        SET_E;<br />        lcd_sendHalf(0x02);     // tryb 8-bitowy<br />        CLR_E;<br />        _delay_us(37);<br /><br />        SET_E;<br />        lcd_sendHalf(0x00);     // tryb 8-bitowy<br />        CLR_E;<br />        _delay_us(37);<br /><br />        SET_E;<br />        lcd_sendHalf(0x01);// tryb 4-bitowy<br />        CLR_E;<br />        _delay_ms(1.53);<br /><br />        SET_E;<br />        lcd_sendHalf(0x06);// tryb 4-bitowy<br />        CLR_E;<br /><br />        /*<br />        // już można używać Busy Flag<br />        // tryb 4-bitowy, 2 wiersze, znak 5x7<br />        lcd_write_cmd( LCDC_FUNC|LCDC_FUNC4B|LCDC_FUNC2L|LCDC_FUNC5x7 );<br />        // wyłączenie kursora<br />        lcd_write_cmd( LCDC_ONOFF|LCDC_CURSOROFF );<br />        // włączenie wyświetlacza<br />        lcd_write_cmd( LCDC_ONOFF|LCDC_DISPLAYON );<br />        // przesuwanie kursora w prawo bez przesuwania zawartości ekranu<br />        lcd_write_cmd( LCDC_ENTRY|LCDC_ENTRYR );<br />*/<br />        // kasowanie ekranu<br />        lcd_cls();<br />}[/syntax]<br /><br />I wg mnie funkcja lcd_init już jest poprawna, ale kolejnym problemem może być ramka czasu ze str 204. I o ile wcześniej wystarczyło wpisać odpowiednie bity to teraz nie wiem gdzie i jak mógłbym zmienić czas z ramki... <br />W libsie jest to samo co na str 204 bluebooka a w moim pdfie jest  <a href="http://forum.atnel.pl/_obrazki/o/1480/da1d345c76a9a773e8a2e181986d6507.png"  class="postlink">to</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1480">MrWeb123</a> — 1 wrz 2013, o 14:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-09-01T14:18:39+01:00</updated>
<published>2013-09-01T14:18:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47738#p47738</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47738#p47738"/>
<title type="html"><![CDATA[Prośba o przerobienie lcd_init()]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4042&amp;p=47738#p47738"><![CDATA[
Cześć. Chcę uruchomić mój wyświetlacz na bibliotekach Mirka. Niby nic wielkiego ale jednak nie działa. Mój wyświetlacz to 4x16 Zgodny z HD44780.<br /><a href="http://electropark.pl/attachment.php?id_attachment=504"  class="postlink">Tutaj</a> jest link do download'u datasheet'a tego lcd'ka <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> <br />Problem w tym że proste przeróbki biblioteki Mirka czyli zmiana pinów w lcd44780.h nic nie dają... Wcześniej przewertowałem wszystkie możliwości z <strong><span style="color: #00AA00">Antystatycznym</span></strong>, i doszliśmy do wniosku że to bez sensu przerabiać pół biblioteki na chacie więc piszę tutaj <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Wracając, wszystko jest robione na stykówce i uprzedzając wszystkie pytania :<br /><br />1. Sprawdzałem połączenia 5-krotnie i jestem na 100% pewny że wszystko jest dobrze podpięte.<br />2. Do wyświetlacza dałem potencjometr 10k do regulacji kontrastu, i również jestem pewien że jest dobrze wpięty bo wpinałem w szereg diodę i potencjometrem ładnie ją rozjaśniałem i zciemniałem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />3. Plik main.c jest dobrze napisany bo nie wywala żadnych błędów i Antystatyczny potwierdził że błąd leży gdzie indziej.<br />4. Mikrokontroler to ATmega 32 taktowana zewnętrznym kwarcem 11.0592 Mhz i pięknie się programuje oraz MkAvrCalculator ją widzi <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ( programowany przez USBasp )<br /><br />Więc problem leży w złej przeróbce libsa. Próbowałem też na czysto odpalić program prosto z płyty nie zmieniając niczego, oczywiście nic się nie pokazało...<br />Co do samej biblioteki, razem z Antystatycznym, za co bardzo mu dziękuję, przewertowaliśmy pół datasheeta mojego wyświetlacza i wniosek okazał się jeden - błędna inicjalizacja lcd'ka.<br />I tu dochodzimy do sedna sprawy. <br /><br />Czy pomożecie mi napisać inicjalizację do mojego wyświetlacza ?<br /><br />Żeby nie prosić o gotowy projekt, napisałem coś takiego :<br /><br />[syntax=c]void lcd_init(void)<br />{<br />// inicjowanie pinów portów ustalonych do podłączenia z wyświetlaczem LCD<br />// ustawienie wszystkich jako wyjścia<br />data_dir_out();<br />DDR(LCD_RSPORT) |= (1&lt;&lt;LCD_RS);<br />DDR(LCD_EPORT) |= (1&lt;&lt;LCD_E);<br />#if USE_RW == 1<br />DDR(LCD_RWPORT) |= (1&lt;&lt;LCD_RW);<br />#endif<br /><br />PORT(LCD_RSPORT) |= (1&lt;&lt;LCD_RS);<br />PORT(LCD_EPORT) |= (1&lt;&lt;LCD_E);<br />#if USE_RW == 1<br />PORT(LCD_RWPORT) |= (1&lt;&lt;LCD_RW);<br />#endif<br /><br />_delay_ms(40);<br />PORT(LCD_EPORT) &amp;= ~(1&lt;&lt;LCD_E);<br />PORT(LCD_RSPORT) &amp;= ~(1&lt;&lt;LCD_RS);<br />PORT(LCD_RWPORT) &amp;= ~(1&lt;&lt;LCD_RW);<br /><br />// jeszcze nie można używać Busy Flag<br />SET_E;<br />lcd_sendHalf(0x03);// tryb 8-bitowy<br />CLR_E;<br />_delay_us(39);<br /><br />SET_E;<br />lcd_sendHalf(0x03);// tryb 8-bitowy<br />CLR_E;<br />_delay_us(39);<br /><br />SET_E;<br />lcd_sendHalf(0x03);// tryb 8-bitowy<br />CLR_E;<br />_delay_us(39);<br /><br />SET_E;<br />lcd_sendHalf(0x02);// tryb 4-bitowy<br />CLR_E;<br />_delay_us(37);<br /><br />// już można używać Busy Flag<br />// tryb 4-bitowy, 2 wiersze, znak 5x7<br />lcd_write_cmd( LCDC_FUNC|LCDC_FUNC4B|LCDC_FUNC2L|LCDC_FUNC5x7 );<br />        _delay_us(37);<br />// wyłączenie kursora<br />lcd_write_cmd( LCDC_ONOFF|LCDC_CURSOROFF );<br />        _delay_us(37);<br />// włączenie wyświetlacza<br />lcd_write_cmd( LCDC_ONOFF|LCDC_DISPLAYON );<br />        _delay_us(37);<br />// przesuwanie kursora w prawo bez przesuwania zawartości ekranu<br />lcd_write_cmd( LCDC_ENTRY|LCDC_ENTRYR );<br />        _delay_ms(1.53);[/syntax]<br /><br />Narysowałem też <a href="http://forum.atnel.pl/_obrazki/o/1480/b910ec26402439eab43da8f8b8acfcb0.png"  class="postlink">schemat</a> &quot;myślowy&quot; całej inicjalizacji wg. datasheeta podanego wyżej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1480">MrWeb123</a> — 1 wrz 2013, o 14:18</p><hr />
]]></content>
</entry>
</feed>