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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-08-15T10:30:54+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=8131&amp;mode</id>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-08-15T10:30:54+01:00</updated>
<published>2014-08-15T10:30:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91590#p91590</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91590#p91590"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91590#p91590"><![CDATA[
Witam,<br /><br />To zaprogramuj swoje fuse bity:<br /><br />LOW = 0xE3<br />HIGH = 0x99<br /><br />To dla 4MHz i JTAG włączony - jeżeli potrzebujesz,<br /><br />Jeżeli nie chcesz z fusami kombinować, to w opcjach programu spróbuj zdefiniować częstotliwość programu na F_CPU=1000000UL - być może ustawione jest domyślne taktowanie na mikrokontrolerze.<br /><br /><span style="color: #0000FF">z Niebieskim pozdRowieniem,<br />Doman89</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 15 sie 2014, o 10:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ElektroNaleśnik]]></name></author>
<updated>2014-08-15T10:15:27+01:00</updated>
<published>2014-08-15T10:15:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91589#p91589</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91589#p91589"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91589#p91589"><![CDATA[
Programator działa znajomy kupił go w sklepie, a sprzedawca zadeklarował pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5451">ElektroNaleśnik</a> — 15 sie 2014, o 10:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2014-08-15T07:15:16+01:00</updated>
<published>2014-08-15T07:15:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91576#p91576</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91576#p91576"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91576#p91576"><![CDATA[
Witam<br /><br />Niestety wersja free nie obsługuje ATmegi16. Poza tym AVRDUDE krzyczy, że stara wersja wsadu w programatorze. Programator to USB ISP widoczny jako USB ASP. Wydaje mi się, że tutaj też może się kryć problem.<br /><br />Pozdrawiam<br />Elektronik<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 15 sie 2014, o 07:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ElektroNaleśnik]]></name></author>
<updated>2014-08-15T07:13:54+01:00</updated>
<published>2014-08-15T07:13:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91575#p91575</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91575#p91575"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91575#p91575"><![CDATA[
Witam,<br />Dziękuję za zaangażowanie. <br /><br />Aktualnie nie jestem w domu, ale tylko jak wrócę ti przetestuję<br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5451">ElektroNaleśnik</a> — 15 sie 2014, o 07:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-08-14T23:11:08+01:00</updated>
<published>2014-08-14T23:11:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91569#p91569</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91569#p91569"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91569#p91569"><![CDATA[
Witam,<br /><br />Jedna rada, jak w technikum nie mogłem dojść dlaczego mi układ złożony nie działa, to wychowawca dał mi złotą radę (już parę razy pomogła <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />), po rozłączaj wszystko i krok po kroku montuj od nowa.<br /><br />1. Sprawa podłącz Atmege na płytkę i w MkAvrCalculator kliknij opcję &quot;Sprawdź podłączony AVR&quot;.<br />2. Wchodzisz w zakładkę &quot;fusy uproszczone&quot; i zobacz czy zaznaczyła się opcja we wewnętrznym oscylatorze 4MHz (tak jak chcesz), jeżeli nie jest ona zaznaczona, to znaczy, że mikrokontroler jest taktowany inną częstotliwością i w takim przypadku musisz zaznaczyć te 4 MHz i przy programowaniu dodać opcję fusy uproszczone.<br />3. Następnie składasz swój układ do kupy wg. schematu.<br />4. Miernik z brzęczkiem w rękę i sprawdzasz przejścia - dotykając nózki danego pinu o lutu na płytce od wyświetlacza (ile to ja godzin zmarnowałem szukając przyczyny, a okazało się, że nie ma po prostu styku bo np. kabelek gdzieś w środku miał przerwę).<br />5. Jeżeli to wszystko zrobisz i dalej nic, to wrzuć jeszcze raz kody źródłowe programów które wrzucasz po wszystkich w/w poprawkach.<br /><br />Pytanie czy optymalizację zmieniłeś na -0s ?<br /><br /><span style="color: #0000FF">z Niebieskim pozdRowieniem<br />Doman89,</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 14 sie 2014, o 23:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[0livaw]]></name></author>
<updated>2014-08-14T20:53:23+01:00</updated>
<published>2014-08-14T20:53:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91562#p91562</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91562#p91562"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91562#p91562"><![CDATA[
Spróbuj inicjalizacji LCD 2x16 z tej strony:<br /><!-- m --><a class="postlink" href="http://www.e-tronix.eu/24,przykladowy-program-SU.html" >http://www.e-tronix.eu/24,przykladowy-program-SU.html</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1304">0livaw</a> — 14 sie 2014, o 20:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2014-08-14T20:15:07+01:00</updated>
<published>2014-08-14T20:15:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91553#p91553</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91553#p91553"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91553#p91553"><![CDATA[
Witam<br /><br />Pobierz te programy i je zainstaluj, a następnie zgłoś się do mnie na PW<br /><br /><a href="http://www.teamviewer.com/pl/Index.Aspx"  class="postlink">http://www.teamviewer.com/pl/Index.Aspx</a><br /><a href="http://atnel.pl/mkavrcalculator.html"  class="postlink">http://atnel.pl/mkavrcalculator.html</a><br /><br />Pozdrawiam<br />Elektronik<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 14 sie 2014, o 20:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ElektroNaleśnik]]></name></author>
<updated>2014-08-14T20:08:08+01:00</updated>
<published>2014-08-14T20:08:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91552#p91552</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91552#p91552"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91552#p91552"><![CDATA[
Dobrze, Skompilowałem wszystko na porcie A i na porcie C, nie działa <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />Musiałem zmienić plik main.c<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;hd44780.h&quot;<br />int main(void)<br />{<br />LCD_Initalize();<br />LCD_Clear();<br />LCD_WriteText(&quot;TEST LCD&quot;);<br /><br />while(1)<br />{<br /><br />}<br />return 0;<br /><br />}[/syntax]<br />Nie kompiluje w Eclipse, tylko w AVR studio ( Eclipse się wiesza pod windowsem 8)<br />Mam kocią płytką i programator od znajomego, który nie ma GRAFICZNEGO gui jeżeli chodzi o FUSE. Zanim kupię porządny zestaw za 250zł, to chcę sprawdzić, czy mnie to nie przerośnie.<br /><br /><br />Może dostałem wyświetlacz z Fabrycznym defektm?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br /><div class="quotetitle">-adam napisał(a):</div><div class="quotecontent"><br />Bo tam Było duże HD wyświetla się napis Napis testowy na 4x16<br />HD44780.h w hd44780.c a nazwa pliku jest z małych.<br />Dokładnie skopiowałem co wkleiłeś wyżej.<br /></div><br /><br />Nie rozumiem za bardzo.<br />Wszytkie nazwy plików są małymi literami<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5451">ElektroNaleśnik</a> — 14 sie 2014, o 20:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[-adam]]></name></author>
<updated>2014-08-14T19:57:13+01:00</updated>
<published>2014-08-14T19:57:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91549#p91549</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91549#p91549"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91549#p91549"><![CDATA[
Bo tam Było duże HD wyświetla się napis Napis testowy na 4x16<br />HD44780.h w hd44780.c a nazwa pliku jest z małych.<br />Dokładnie skopiowałem co wkleiłeś wyżej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4246">-adam</a> — 14 sie 2014, o 19:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ElektroNaleśnik]]></name></author>
<updated>2014-08-14T19:51:49+01:00</updated>
<published>2014-08-14T19:51:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91545#p91545</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91545#p91545"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91545#p91545"><![CDATA[
Error1hd44780.c: No such file or directoryE:\avr\LCD_forum\LCD_forum\LCD_forum.c1121LCD_forum<br /><br />Wyskakuje mi taki błąd<br /><br />mogę zamienić<br />#include &lt;hd44780.c&gt;<br />na<br />#include &quot;hd44780.h&quot;?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5451">ElektroNaleśnik</a> — 14 sie 2014, o 19:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2014-08-14T19:43:15+01:00</updated>
<published>2014-08-14T19:43:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91543#p91543</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91543#p91543"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91543#p91543"><![CDATA[
Witam<br /><br />Pomogę Ci odpalić ten wyświetlacz. Odpalimy to na bibliotekach autorstwa Radosława Kwiecienia <a href="http://radzio.dxp.pl/hd44780/"  class="postlink">http://radzio.dxp.pl/hd44780/</a>. Pobierz sobie biblioteki znajdujące się pod linkiem Sterowanie w trybie 4-bitowym bez odczytu flagi zajętości z dowolnym przypisaniem linii sterujących. W pliku o nazwie HD44780.h dokonasz zmiany konfiguracji portów w ten sposób:<br />[syntax=c]//-------------------------------------------------------------------------------------------------<br />//<br />// Konfiguracja sygnałów sterujących wyświetlaczem.<br />// Można zmienić stosownie do potrzeb.<br />//<br />//-------------------------------------------------------------------------------------------------<br />#define LCD_RS_DIRDDRC<br />#define LCD_RS_PORT PORTC<br />#define LCD_RS(1 &lt;&lt; PC0)<br /><br />#define LCD_E_DIRDDRC<br />#define LCD_E_PORTPORTC<br />#define LCD_E(1 &lt;&lt; PC1)<br /><br />#define LCD_DB4_DIRDDRC<br />#define LCD_DB4_PORTPORTC<br />#define LCD_DB4(1 &lt;&lt; PC2)<br /><br />#define LCD_DB5_DIRDDRC<br />#define LCD_DB5_PORTPORTC<br />#define LCD_DB5(1 &lt;&lt; PC3)<br /><br />#define LCD_DB6_DIRDDRC<br />#define LCD_DB6_PORTPORTC<br />#define LCD_DB6(1 &lt;&lt; PC4)<br /><br />#define LCD_DB7_DIRDDRC<br />#define LCD_DB7_PORTPORTC<br />#define LCD_DB7(1 &lt;&lt; PC5)[/syntax]<br /><br />Tutaj masz jedną z możliwości sprawdzenia tego wyświetlacza:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;hd44780.c&gt;<br />int main(void)<br />{<br />LCD_Initalize();<br />LCD_Clear();<br />LCD_WriteText(&quot;TEST LCD&quot;);<br /><br />while(1)<br />{<br /><br />}<br />return 0;<br />}[/syntax] <br />Przypominam o ustawieniu właściwie fuse bitów w Eclipse oraz w MkAvrCalculator, oraz ustawieniu kontrastu wyświetlacza. Jeżeli wtedy wyświetlacz nic nie wyświetli to daj znać. Zrób jakieś zdjęcia jak podłączyłeś ten wyświetlacz. Program jest przetestowany. Sprawdź tego Jtaga.<br /><br />Pozdrawiam<br />Elektronik<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 14 sie 2014, o 19:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ElektroNaleśnik]]></name></author>
<updated>2014-08-14T19:25:18+01:00</updated>
<published>2014-08-14T19:25:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91541#p91541</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91541#p91541"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91541#p91541"><![CDATA[
<div class="quotetitle">-adam napisał(a):</div><div class="quotecontent"><br />[syntax=c]#define LCD_DB4_DIR             DDRC<br /><br />#define LCD_DB4_PORT    PORTC<br /><br />#define LCD_DB4                 (1 &lt;&lt; PC4)<br /><br /> <br /><br />#define LCD_DB5_DIR             DDRC<br /><br />#define LCD_DB5_PORT    PORTC<br /><br />#define LCD_DB5                 (1 &lt;&lt; PC5)<br /><br /> <br /><br />#define LCD_DB6_DIR             DDRC<br /><br />#define LCD_DB6_PORT    PORTC<br /><br />#define LCD_DB6                 (1 &lt;&lt; PC6)<br /><br /> <br /><br />#define LCD_DB7_DIR             DDRC<br /><br />#define LCD_DB7_PORT    PORTC<br /><br />#define LCD_DB7                 (1 &lt;&lt; PC7)[/syntax]<br />Nijak to się ma do wyżej przedstawionego schematu .<br /></div><br />Wiem, podłączyłem wyświetlacz od nowa<br /><br />A co do kodu, może ktoś przetestować go na swoim LCD, albo pomóc początkującemu znaleźć błąd?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5451">ElektroNaleśnik</a> — 14 sie 2014, o 19:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[-adam]]></name></author>
<updated>2014-08-14T18:31:21+01:00</updated>
<published>2014-08-14T18:31:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91533#p91533</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91533#p91533"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91533#p91533"><![CDATA[
[syntax=c]#define LCD_DB4_DIR             DDRC<br /><br />#define LCD_DB4_PORT    PORTC<br /><br />#define LCD_DB4                 (1 &lt;&lt; PC4)<br /><br /> <br /><br />#define LCD_DB5_DIR             DDRC<br /><br />#define LCD_DB5_PORT    PORTC<br /><br />#define LCD_DB5                 (1 &lt;&lt; PC5)<br /><br /> <br /><br />#define LCD_DB6_DIR             DDRC<br /><br />#define LCD_DB6_PORT    PORTC<br /><br />#define LCD_DB6                 (1 &lt;&lt; PC6)<br /><br /> <br /><br />#define LCD_DB7_DIR             DDRC<br /><br />#define LCD_DB7_PORT    PORTC<br /><br />#define LCD_DB7                 (1 &lt;&lt; PC7)[/syntax]<br />Nijak to się ma do wyżej przedstawionego schematu .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4246">-adam</a> — 14 sie 2014, o 18:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-08-14T13:39:36+01:00</updated>
<published>2014-08-14T13:39:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91516#p91516</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91516#p91516"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91516#p91516"><![CDATA[
Witam,<br /><br />Jeżeli chcesz zdefiniować taktowanie procesora w Atmel Studio to zrób tak:<br />1. Project -&gt; Propeties... (poprzedzone nazwą Twojego projektu).<br />2. Po lewej stronie wybierasz Toolchain.<br />3. W liście rozwijanej AVR/GNU C Compiler -&gt; Symbols<br />4. Klikasz ikonkę z plikiem i zielonym plusikeim.<br />5. Wpisujesz np: F_CPU=4000000UL<br /><br />Warto jeszcze w toolchainie zmienić optymalizację na -0s, bo domyślnie jest bodajże -01, co powoduje problemy z delayami<br /><br />Pozdrawiam,<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 14 sie 2014, o 13:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ElektroNaleśnik]]></name></author>
<updated>2014-08-14T12:47:35+01:00</updated>
<published>2014-08-14T12:47:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91514#p91514</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91514#p91514"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91514#p91514"><![CDATA[
Dziękuję. Sprubuje jeszcze raz. <br /><br />Rozumiem, ze id moze byc 1 albo 0 bez różnicy<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 51 minutach ]</span></strong><br /><br />Niestety mój wyświetlacz nie inicjalizuje się  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br />Zdecydowałem, że użyje gotowej biblioteki, lecz ona też nie działa.<br />main.c<br />[syntax=c]/*<br />PD0 RS<br />PD1 E<br />PD4 D4<br />PD5 D5<br />PD6 D6<br />PD7 D7<br />*/ <br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;hd44780.h&quot;<br />#define F_CPU 4000000<br /><br />int main(void)<br />{<br />LCD_Initalize();<br />LCD_Clear();<br />LCD_WriteText(&quot;NAPIS TESTOWY&quot;);<br />    while(1);<br />}[/syntax]<br />hd44780.h<br />[syntax=c]//-------------------------------------------------------------------------------------------------<br />// Wyświetlacz alfanumeryczny ze sterownikiem HD44780<br />// Sterowanie w trybie 4-bitowym bez odczytu flagi zajętości<br />// z dowolnym przypisaniem sygnałów sterujących<br />// Plik : HD44780.h<br />// Mikrokontroler : Atmel AVR<br />// Kompilator : avr-gcc<br />// Autor : Radosław Kwiecień<br />// Źródło : http://radzio.dxp.pl/hd44780/<br />// Data : 24.03.2007<br />//-------------------------------------------------------------------------------------------------<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />//-------------------------------------------------------------------------------------------------<br />//<br />// Konfiguracja sygnałów sterujących wyświetlaczem.<br />// Można zmienić stosownie do potrzeb.<br />//<br />//-------------------------------------------------------------------------------------------------<br />#define LCD_RS_DIRDDRC<br />#define LCD_RS_PORT PORTC<br />#define LCD_RS(1 &lt;&lt; PC0)<br /><br />#define LCD_E_DIRDDRC<br />#define LCD_E_PORTPORTC<br />#define LCD_E(1 &lt;&lt; PC1)<br /><br />#define LCD_DB4_DIRDDRC<br />#define LCD_DB4_PORTPORTC<br />#define LCD_DB4(1 &lt;&lt; PC4)<br /><br />#define LCD_DB5_DIRDDRC<br />#define LCD_DB5_PORTPORTC<br />#define LCD_DB5(1 &lt;&lt; PC5)<br /><br />#define LCD_DB6_DIRDDRC<br />#define LCD_DB6_PORTPORTC<br />#define LCD_DB6(1 &lt;&lt; PC6)<br /><br />#define LCD_DB7_DIRDDRC<br />#define LCD_DB7_PORTPORTC<br />#define LCD_DB7(1 &lt;&lt; PC7)<br /><br />//-------------------------------------------------------------------------------------------------<br />//<br />// Instrukcje kontrolera Hitachi HD44780<br />//<br />//-------------------------------------------------------------------------------------------------<br /><br />#define HD44780_CLEAR0x01<br /><br />#define HD44780_HOME0x02<br /><br />#define HD44780_ENTRY_MODE0x04<br />#define HD44780_EM_SHIFT_CURSOR0<br />#define HD44780_EM_SHIFT_DISPLAY1<br />#define HD44780_EM_DECREMENT0<br />#define HD44780_EM_INCREMENT2<br /><br />#define HD44780_DISPLAY_ONOFF0x08<br />#define HD44780_DISPLAY_OFF0<br />#define HD44780_DISPLAY_ON4<br />#define HD44780_CURSOR_OFF0<br />#define HD44780_CURSOR_ON2<br />#define HD44780_CURSOR_NOBLINK0<br />#define HD44780_CURSOR_BLINK1<br /><br />#define HD44780_DISPLAY_CURSOR_SHIFT0x10<br />#define HD44780_SHIFT_CURSOR0<br />#define HD44780_SHIFT_DISPLAY8<br />#define HD44780_SHIFT_LEFT0<br />#define HD44780_SHIFT_RIGHT4<br /><br />#define HD44780_FUNCTION_SET0x20<br />#define HD44780_FONT5x70<br />#define HD44780_FONT5x104<br />#define HD44780_ONE_LINE0<br />#define HD44780_TWO_LINE8<br />#define HD44780_4_BIT0<br />#define HD44780_8_BIT16<br /><br />#define HD44780_CGRAM_SET0x40<br /><br />#define HD44780_DDRAM_SET0x80<br /><br />//-------------------------------------------------------------------------------------------------<br />//<br />// Deklaracje funkcji<br />//<br />//-------------------------------------------------------------------------------------------------<br /><br />void LCD_WriteCommand(unsigned char);<br />void LCD_WriteData(unsigned char);<br />void LCD_WriteText(char *);<br />void LCD_GoTo(unsigned char, unsigned char);<br />void LCD_Clear(void);<br />void LCD_Home(void);<br />void LCD_Initalize(void);<br /><br />//-------------------------------------------------------------------------------------------------<br />//<br />// Koniec pliku HD44780.h<br />//<br />//-------------------------------------------------------------------------------------------------[/syntax]<br />hd44780.c<br />[syntax=c]//-------------------------------------------------------------------------------------------------<br />// Wyświetlacz alfanumeryczny ze sterownikiem HD44780<br />// Sterowanie w trybie 4-bitowym bez odczytu flagi zajętości<br />// z dowolnym przypisaniem sygnałów sterujących<br />// Plik : HD44780.c<br />// Mikrokontroler : Atmel AVR<br />// Kompilator : avr-gcc<br />// Autor : Radosław Kwiecień<br />// Źródło : http://radzio.dxp.pl/hd44780/<br />// Data : 24.03.2007<br />//-------------------------------------------------------------------------------------------------<br /><br />#include &quot;HD44780.h&quot;<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja wystawiająca półbajt na magistralę danych<br />//<br />//-------------------------------------------------------------------------------------------------<br />void _LCD_OutNibble(unsigned char nibbleToWrite)<br />{<br />if(nibbleToWrite &amp; 0x01)<br />LCD_DB4_PORT |= LCD_DB4;<br />else<br />LCD_DB4_PORT  &amp;= ~LCD_DB4;<br /><br />if(nibbleToWrite &amp; 0x02)<br />LCD_DB5_PORT |= LCD_DB5;<br />else<br />LCD_DB5_PORT  &amp;= ~LCD_DB5;<br /><br />if(nibbleToWrite &amp; 0x04)<br />LCD_DB6_PORT |= LCD_DB6;<br />else<br />LCD_DB6_PORT  &amp;= ~LCD_DB6;<br /><br />if(nibbleToWrite &amp; 0x08)<br />LCD_DB7_PORT |= LCD_DB7;<br />else<br />LCD_DB7_PORT  &amp;= ~LCD_DB7;<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja zapisu bajtu do wyświetacza (bez rozróżnienia instrukcja/dane).<br />//<br />//-------------------------------------------------------------------------------------------------<br />void _LCD_Write(unsigned char dataToWrite)<br />{<br />LCD_E_PORT |= LCD_E;<br />_LCD_OutNibble(dataToWrite &gt;&gt; 4);<br />LCD_E_PORT &amp;= ~LCD_E;<br />LCD_E_PORT |= LCD_E;<br />_LCD_OutNibble(dataToWrite);<br />LCD_E_PORT &amp;= ~LCD_E;<br />_delay_us(50);<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja zapisu rozkazu do wyświetlacza<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_WriteCommand(unsigned char commandToWrite)<br />{<br />LCD_RS_PORT &amp;= ~LCD_RS;<br />_LCD_Write(commandToWrite);<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja zapisu danych do pamięci wyświetlacza<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_WriteData(unsigned char dataToWrite)<br />{<br />LCD_RS_PORT |= LCD_RS;<br />_LCD_Write(dataToWrite);<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja wyświetlenia napisu na wyswietlaczu.<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_WriteText(char * text)<br />{<br />while(*text)<br />  LCD_WriteData(*text++);<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja ustawienia współrzędnych ekranowych<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_GoTo(unsigned char x, unsigned char y)<br />{<br />LCD_WriteCommand(HD44780_DDRAM_SET | (x + (0x40 * y)));<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja czyszczenia ekranu wyświetlacza.<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_Clear(void)<br />{<br />LCD_WriteCommand(HD44780_CLEAR);<br />_delay_ms(2);<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja przywrócenia początkowych współrzędnych wyświetlacza.<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_Home(void)<br />{<br />LCD_WriteCommand(HD44780_HOME);<br />_delay_ms(2);<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Procedura inicjalizacji kontrolera HD44780.<br />//<br />//-------------------------------------------------------------------------------------------------<br />void LCD_Initalize(void)<br />{<br />unsigned char i;<br />LCD_DB4_DIR |= LCD_DB4; // Konfiguracja kierunku pracy wyprowadzeń<br />LCD_DB5_DIR |= LCD_DB5; //<br />LCD_DB6_DIR |= LCD_DB6; //<br />LCD_DB7_DIR |= LCD_DB7; //<br />LCD_E_DIR |= LCD_E;   //<br />LCD_RS_DIR |= LCD_RS;  //<br />_delay_ms(15); // oczekiwanie na ustalibizowanie się napiecia zasilajacego<br />LCD_RS_PORT &amp;= ~LCD_RS; // wyzerowanie linii RS<br />LCD_E_PORT &amp;= ~LCD_E;  // wyzerowanie linii E<br /><br />for(i = 0; i &lt; 3; i++) // trzykrotne powtórzenie bloku instrukcji<br />  {<br />  LCD_E_PORT |= LCD_E; //  E = 1<br />  _LCD_OutNibble(0x03); // tryb 8-bitowy<br />  LCD_E_PORT &amp;= ~LCD_E; // E = 0<br />  _delay_ms(5); // czekaj 5ms<br />  }<br /><br />LCD_E_PORT |= LCD_E; // E = 1<br />_LCD_OutNibble(0x02); // tryb 4-bitowy<br />LCD_E_PORT &amp;= ~LCD_E; // E = 0<br /><br />_delay_ms(1); // czekaj 1ms <br />LCD_WriteCommand(HD44780_FUNCTION_SET | HD44780_FONT5x7 | HD44780_TWO_LINE | HD44780_4_BIT); // interfejs 4-bity, 2-linie, znak 5x7<br />LCD_WriteCommand(HD44780_DISPLAY_ONOFF | HD44780_DISPLAY_OFF); // wyłączenie wyswietlacza<br />LCD_WriteCommand(HD44780_CLEAR); // czyszczenie zawartosći pamieci DDRAM<br />_delay_ms(2);<br />LCD_WriteCommand(HD44780_ENTRY_MODE | HD44780_EM_SHIFT_CURSOR | HD44780_EM_INCREMENT);// inkrementaja adresu i przesuwanie kursora<br />LCD_WriteCommand(HD44780_DISPLAY_ONOFF | HD44780_DISPLAY_ON | HD44780_CURSOR_OFF | HD44780_CURSOR_NOBLINK); // włącz LCD, bez kursora i mrugania<br />}<br /><br />//-------------------------------------------------------------------------------------------------<br />//<br />// Koniec pliku HD44780.c<br />//<br />//-------------------------------------------------------------------------------------------------[/syntax]<br />Co może być źle?<br />Kompiluje się ładnie (AVR Studio win 8)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5451">ElektroNaleśnik</a> — 14 sie 2014, o 12:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tmichal24]]></name></author>
<updated>2014-08-14T12:38:49+01:00</updated>
<published>2014-08-14T12:38:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91511#p91511</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91511#p91511"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91511#p91511"><![CDATA[
Parametr N określa rodzaj wyświetlacza: N=0 -jednowierszowy, N=1 -dwuwierszowy.<br />F określa wielkość znaku F=0 -5x7 pikseli, F=1 -5x10 pikseli<br />I/D=0 -kursor przesuwa się w lewo, I/D=1 -kursor przesuwa się w lewo<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1651">tmichal24</a> — 14 sie 2014, o 12:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ElektroNaleśnik]]></name></author>
<updated>2014-08-14T10:23:01+01:00</updated>
<published>2014-08-14T10:23:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91494#p91494</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91494#p91494"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91494#p91494"><![CDATA[
Dziękuję z ten schemat inicjalizacji.<br />3 razy wysłać 0 0 1 1 <br />Raz wysłać 0 0 1 0?<br /><br />To wystarczy?  Zaraz oprogramuje i zobacze.<br /><br />P.s. programusze w AVR STUDIO  ( pod moik win 8 eclipse zacina się przy kompilowaniu) jak wywale # define F _CPU to program skompiluje się jakby 1MHz<br />P.P.S a to fotka płytki<br /><a href="http://forum.atnel.pl/_obrazki/o/5451/2b5587e1fa4754c3ee7fb19d56f09118.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/5451/2b5587e1fa4754c3ee7fb19d56f09118.jpg" alt="Obrazek" /></a><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 27 minutach ]</span></strong><br /><br /><div class="quotetitle">Elektronik napisał(a):</div><div class="quotecontent"><br />Tutaj masz jeszcze ten algorytm inicjalizacji:<br /></div><br />A co mam dać w miejsce N F i ID?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5451">ElektroNaleśnik</a> — 14 sie 2014, o 10:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2014-08-14T10:19:26+01:00</updated>
<published>2014-08-14T10:19:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91493#p91493</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91493#p91493"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91493#p91493"><![CDATA[
Witam<br /><br />Weź wyrzuć to #define F_CPU 4000000. Piszesz programy w Eclipse czy AVRStudio ?. Taktowanie ustawiamy podczas tworzenia projektu a nie w programie. Zobacz na ten algorytm i napisz według niego.<br />Daj jakieś zdjęcie tego zestawu. Masz na pewno tą ATmega16 ustawioną sprzętowo na 4MHz ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 14 sie 2014, o 10:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ElektroNaleśnik]]></name></author>
<updated>2014-08-14T10:14:03+01:00</updated>
<published>2014-08-14T10:14:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91491#p91491</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91491#p91491"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91491#p91491"><![CDATA[
Jestem bardzo początkującym. Dostałem od znajomego ATMEGE 16 taktowaną 4 MHz i zestaw uruchomieniowy Noname.<br />Mrugałem diodami na wszystkich portach, wiec chyba JTag jest wyłączony.<br />Inicjalizację robiłem na podstawie tego właśnie filmiku.<br />Więc co jest źle.<br />1.  Ustaw E na high. Rs na Low i data na 0010<br />2. Ustaw E na low.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5451">ElektroNaleśnik</a> — 14 sie 2014, o 10:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2014-08-14T10:05:06+01:00</updated>
<published>2014-08-14T10:05:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91489#p91489</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91489#p91489"/>
<title type="html"><![CDATA[Re: Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91489#p91489"><![CDATA[
Witam<br /><br />Według mnie źle przeprowadzasz inicjalizację  tego wyświetlacza . Interfejs JTAG wyłączyłeś. Weź sobie notę katalogową tego wyświetlacza i tam będziesz miał algorytm w jaki sposób zainicjalizować  wyświetlacz. Zobacz jeszcze ten filmik kolegi z forum: <br /><a href="https://www.youtube.com/watch?v=tOLnAFhUVjw"  class="postlink">https://www.youtube.com/watch?v=tOLnAFhUVjw</a><br /><br />Tutaj masz jeszcze ten algorytm inicjalizacji:<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/858/a1d59ca8f6154ac1c988a64bbf923c0c.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/858/a1d59ca8f6154ac1c988a64bbf923c0c.JPG" alt="Obrazek" /></a><br /><br />Pozdrawiam<br />Elektronik<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 14 sie 2014, o 10:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ElektroNaleśnik]]></name></author>
<updated>2014-08-14T09:17:20+01:00</updated>
<published>2014-08-14T09:17:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91480#p91480</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91480#p91480"/>
<title type="html"><![CDATA[Diagnoza wyświetlacza LCD 2x16]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8131&amp;p=91480#p91480"><![CDATA[
Witaj,<br />To mój pierwszy post, więc proszę o wyrozumiałość <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <br /><br />Wczoraj zakupiłem wyświetlacz LCD 2x16. Nie mogę go zainicjalizować.<br />UPROSZCZONY Schemat:<br /><a href="http://forum.atnel.pl/_obrazki/o/5451/6c2b17f6c1310b5a95e43352d8d5bc20.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/5451/6c2b17f6c1310b5a95e43352d8d5bc20.png" alt="Obrazek" /></a><br />Nie korzystam z Biblioteki, ponieważ chcę mieć pełną władzę nad uC i zrozumieć kod.<br /><br />Problem polega na tym, że wyświetlacz nie chce się zinicjalizować.<br /><br />KOD:<br />[syntax=c]#define F_CPU 4000000<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />int main(void)<br />{<br />_delay_ms(100);<br />DDRC = 0xff;<br />PORTC = 0b01001000;<br />_delay_ms(100);<br />PORTC = 0b00001000;<br />while(1);<br />}[/syntax]<br /><br />nawet ręcznie podpinając pin D6 i E do VCC, a potem odłączając E.<br /><br />Z góry dziękuję z pomoc<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5451">ElektroNaleśnik</a> — 14 sie 2014, o 09:17</p><hr />
]]></content>
</entry>
</feed>