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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-07-25T20:46:31+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=15828&amp;mode</id>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2016-07-25T20:46:31+01:00</updated>
<published>2016-07-25T20:46:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164719#p164719</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164719#p164719"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164719#p164719"><![CDATA[
Kolego skoro masz BB to po co się katujesz innymi bibliotekami bez opisów ?<br />Weź no książkę w łapki otwórz na rozdziale LCD nikt ci nie karze pisać bibliotek z książka bo są na DVD / PENDRIVE dołączone kopiujesz pliki do projektu includujesz w main.c plik .h i jedziesz razem z Książką.<br /><br />Dziwie się, że mając książkę katujesz się bibliotekami od Radzia nie to aby były złe ale skoro używasz jego libsów i Tobie nie działa to powinieneś pytać się Radzia <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Skoro co niektórzy mają problem z LCD z BB a pytają się Mirka ?<br /><br />Nieprawdaż ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 25 lip 2016, o 20:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kopcor07]]></name></author>
<updated>2016-07-25T15:24:12+01:00</updated>
<published>2016-07-25T15:24:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164702#p164702</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164702#p164702"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164702#p164702"><![CDATA[
Wielkie dzięki <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> działa <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=10397">kopcor07</a> — 25 lip 2016, o 15:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Andrzej]]></name></author>
<updated>2016-07-25T18:40:20+01:00</updated>
<published>2016-07-25T14:58:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164700#p164700</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164700#p164700"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164700#p164700"><![CDATA[
Pobrałeś nie tą bibliotekę od radzia <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> powinna być ta <!-- m --><a class="postlink" href="http://radzio.dxp.pl/hd44780/hd44780_avr_4-bit_rw_c.html" >http://radzio.dxp.pl/hd44780/hd44780_av ... _rw_c.html</a><!-- m --> bo wyświetlacz masz podłączony wg Mirka schematu a tam jest RW podłączone do procka <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br />więc albo importuj sobie projekty z płyty czy pena do eclipsa wg poradnika <!-- m --><a class="postlink" href="https://youtu.be/AroKPav3On4?t=603" >https://youtu.be/AroKPav3On4?t=603</a><!-- m --><br />a tu masz prawidłową bibliotekę radzia  +twój main.c bez polskich znaków tekst na lcd inaczej będą krzaczki i coś troszkę zmieniłem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />main.c<br />[syntax=c]#include &lt;avr/io.h&gt;<br />    #include &lt;util/delay.h&gt;<br />    #include &lt;avr/interrupt.h&gt;<br />    #include &lt;avr/pgmspace.h&gt;<br />    #include &quot;HD44780.h&quot;<br /><br />    int main(void)<br />    {<br />            // Wyświetlacz<br />            LCD_Initalize();<br /><br />            _delay_ms(250);<br /><br />            LCD_Home();<br />            LCD_Clear();<br />LCD_GoTo(0,0);<br />LCD_WriteText(&quot;Cos tam 1 linia&quot;);<br /><br />LCD_GoTo(0,1);<br />LCD_WriteText(&quot;Cos tam 2 linia&quot;);<br />            while(1)<br />            {<br /><br />            }<br />    }[/syntax]<br /><br />hd.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_DIRDDRA<br />#define LCD_RS_PORT PORTA<br />#define LCD_RS_PINPINA<br />#define LCD_RS(1 &lt;&lt; PA0)<br /><br />#define LCD_RW_DIRDDRA<br />#define LCD_RW_PORTPORTA<br />#define LCD_RW_PINPINA<br />#define LCD_RW(1 &lt;&lt; PA1)<br /><br />#define LCD_E_DIRDDRA<br />#define LCD_E_PORTPORTA<br />#define LCD_E_PINPINA<br />#define LCD_E(1 &lt;&lt; PA2)<br /><br />#define LCD_DB4_DIRDDRA<br />#define LCD_DB4_PORTPORTA<br />#define LCD_DB4_PINPINA<br />#define LCD_DB4(1 &lt;&lt; PA3)<br /><br />#define LCD_DB5_DIRDDRA<br />#define LCD_DB5_PORTPORTA<br />#define LCD_DB5_PINPINA<br />#define LCD_DB5(1 &lt;&lt; PA4)<br /><br />#define LCD_DB6_DIRDDRA<br />#define LCD_DB6_PORTPORTA<br />#define LCD_DB6_PINPINA<br />#define LCD_DB6(1 &lt;&lt; PA5)<br /><br />#define LCD_DB7_DIRDDRA<br />#define LCD_DB7_PORTPORTA<br />#define LCD_DB7_PINPINA<br />#define LCD_DB7(1 &lt;&lt; PA6)<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 />unsigned char LCD_ReadStatus(void);<br />void LCD_WriteData(unsigned char);<br />unsigned char LCD_ReadData(void);<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 /><br />hd.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 /><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 wystawiająca półbajt na magistralę danych<br />//<br />//-------------------------------------------------------------------------------------------------<br />unsigned char _LCD_InNibble(void)<br />{<br />unsigned char tmp = 0;<br /><br />if(LCD_DB4_PIN &amp; LCD_DB4)<br />tmp |= (1 &lt;&lt; 0);<br />if(LCD_DB5_PIN &amp; LCD_DB5)<br />tmp |= (1 &lt;&lt; 1);<br />if(LCD_DB6_PIN &amp; LCD_DB6)<br />tmp |= (1 &lt;&lt; 2);<br />if(LCD_DB7_PIN &amp; LCD_DB7)<br />tmp |= (1 &lt;&lt; 3);<br />return tmp;<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_DB4_DIR |= LCD_DB4;<br />LCD_DB5_DIR |= LCD_DB5;<br />LCD_DB6_DIR |= LCD_DB6;<br />LCD_DB7_DIR |= LCD_DB7;<br /><br />LCD_RW_PORT &amp;= ~LCD_RW;<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 />while(LCD_ReadStatus()&amp;0x80);<br />}<br />//-------------------------------------------------------------------------------------------------<br />//<br />// Funkcja odczytu bajtu z wyświetacza (bez rozróżnienia instrukcja/dane).<br />//<br />//-------------------------------------------------------------------------------------------------<br /><br />unsigned char _LCD_Read(void)<br />{<br />unsigned char tmp = 0;<br />LCD_DB4_DIR &amp;= ~LCD_DB4;<br />LCD_DB5_DIR &amp;= ~LCD_DB5;<br />LCD_DB6_DIR &amp;= ~LCD_DB6;<br />LCD_DB7_DIR &amp;= ~LCD_DB7;<br /><br />LCD_RW_PORT |= LCD_RW;<br />LCD_E_PORT |= LCD_E;<br />tmp |= (_LCD_InNibble() &lt;&lt; 4);<br />LCD_E_PORT &amp;= ~LCD_E;<br />LCD_E_PORT |= LCD_E;<br />tmp |= _LCD_InNibble();<br />LCD_E_PORT &amp;= ~LCD_E;<br />return tmp;<br />}<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 />//<br />// Funkcja odczytu bajtu statusowego<br />//<br />//-------------------------------------------------------------------------------------------------<br />unsigned char LCD_ReadStatus(void)<br />{<br />LCD_RS_PORT &amp;= ~LCD_RS;<br />return _LCD_Read();<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 odczytu danych z pamięci wyświetlacza<br />//<br />//-------------------------------------------------------------------------------------------------<br />unsigned char LCD_ReadData(void)<br />{<br />LCD_RS_PORT |= LCD_RS;<br />return _LCD_Read();<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 />LCD_RW_DIR |= LCD_RW;  //<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 />LCD_RW_PORT &amp;= ~LCD_RW;<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 />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]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7001">Andrzej</a> — 25 lip 2016, o 14:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[HomoChemicus]]></name></author>
<updated>2016-07-25T10:56:51+01:00</updated>
<published>2016-07-25T10:56:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164692#p164692</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164692#p164692"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164692#p164692"><![CDATA[
Tak jak napisałem wyżej nie dołączamy plików &quot;.c&quot; do main.c. (Wykasuj z main &quot;#include &quot;HD44780.c&quot;&quot;)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10470">HomoChemicus</a> — 25 lip 2016, o 10:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kopcor07]]></name></author>
<updated>2016-07-25T10:28:24+01:00</updated>
<published>2016-07-25T10:28:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164691#p164691</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164691#p164691"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164691#p164691"><![CDATA[
Skorzystałem z bibliotek do LCD od radzia i dopisałem  #include &quot;HD44780.h&quot; i #include &quot;HD44780.c&quot; do main.c<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &quot;HD44780.h&quot;<br />#include &quot;HD44780.c&quot;<br /><br />int main(void)<br />{<br />        // Wyświetlacz<br />        LCD_Initalize();<br />        _delay_ms(250);<br />        LCD_Home();<br />        LCD_Clear();<br />        LCD_GoTo(0,0);<br />        LCD_WriteText(&quot;Coś tam&quot;);<br /><br />        while(1)<br />        {<br /><br />        }<br />}[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><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 /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><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; PC2)<br /><br />#define LCD_DB4_DIRDDRD<br />#define LCD_DB4_PORTPORTD<br />#define LCD_DB4(1 &lt;&lt; PD4)<br /><br />#define LCD_DB5_DIRDDRD<br />#define LCD_DB5_PORTPORTD<br />#define LCD_DB5(1 &lt;&lt; PD5)<br /><br />#define LCD_DB6_DIRDDRD<br />#define LCD_DB6_PORTPORTD<br />#define LCD_DB6(1 &lt;&lt; PD6)<br /><br />#define LCD_DB7_DIRDDRD<br />#define LCD_DB7_PORTPORTD<br />#define LCD_DB7(1 &lt;&lt; PD7)<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]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10397">kopcor07</a> — 25 lip 2016, o 10:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[HomoChemicus]]></name></author>
<updated>2016-07-25T09:32:52+01:00</updated>
<published>2016-07-25T09:32:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164686#p164686</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164686#p164686"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164686#p164686"><![CDATA[
Co dokładnie zmieniłeś? Masz wielokrotne definicje funkcji lcd.<br /><br />Pamiętaj, że plików &quot;.c&quot; nie includujemy w pliku main.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10470">HomoChemicus</a> — 25 lip 2016, o 09:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kopcor07]]></name></author>
<updated>2016-07-24T22:08:13+01:00</updated>
<published>2016-07-24T22:08:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164678#p164678</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164678#p164678"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164678#p164678"><![CDATA[
Andrzej<br />mam kupioną książkę tylko jakoś słabo mi idzie przyswajanie wiedzy z programowania. Nie mam ostatnio czasu aby tak porządnie usiąść przy tym i popatrzeć co i jak.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />maverick_as<br />wiem , że jestem nie od dziś na forum ale miałem długa przerwę od programowania i nie pamiętam niektórych rzeczy<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br />teraz mam takie błędy<br /><br />22:33:46 **** Incremental Build of configuration Release for project LCD2 ****<br />make all <br />'Building target: LCD2.elf'<br />'Invoking: AVR C Linker'<br />avr-gcc -Wl,-Map,LCD2.map -mmcu=atmega8 -o &quot;LCD2.elf&quot;  ./HD44780.o ./main.o   <br />./main.o: In function `_LCD_OutNibble':<br />main.c:(.text._LCD_OutNibble+0x0): multiple definition of `_LCD_OutNibble'<br />./HD44780.o:HD44780.c:(.text._LCD_OutNibble+0x0): first defined here<br />./main.o: In function `_LCD_Write':<br />main.c:(.text._LCD_Write+0x0): multiple definition of `_LCD_Write'<br />./HD44780.o:HD44780.c:(.text._LCD_Write+0x0): first defined here<br />./main.o: In function `LCD_WriteCommand':<br />main.c:(.text.LCD_WriteCommand+0x0): multiple definition of `LCD_WriteCommand'<br />./HD44780.o:HD44780.c:(.text.LCD_WriteCommand+0x0): first defined here<br />./main.o: In function `LCD_WriteData':<br />main.c:(.text.LCD_WriteData+0x0): multiple definition of `LCD_WriteData'<br />./HD44780.o:HD44780.c:(.text.LCD_WriteData+0x0): first defined here<br />./main.o: In function `LCD_WriteText':<br />main.c:(.text.LCD_WriteText+0x0): multiple definition of `LCD_WriteText'<br />./HD44780.o:HD44780.c:(.text.LCD_WriteText+0x0): first defined here<br />./main.o: In function `LCD_GoTo':<br />main.c:(.text.LCD_GoTo+0x0): multiple definition of `LCD_GoTo'<br />./HD44780.o:HD44780.c:(.text.LCD_GoTo+0x0): first defined here<br />./main.o: In function `LCD_Clear':<br />main.c:(.text.LCD_Clear+0x0): multiple definition of `LCD_Clear'<br />./HD44780.o:HD44780.c:(.text.LCD_Clear+0x0): first defined here<br />./main.o: In function `LCD_Home':<br />main.c:(.text.LCD_Home+0x0): multiple definition of `LCD_Home'<br />./HD44780.o:HD44780.c:(.text.LCD_Home+0x0): first defined here<br />./main.o: In function `LCD_Initalize':<br />main.c:(.text.LCD_Initalize+0x0): multiple definition of `LCD_Initalize'<br />./HD44780.o:HD44780.c:(.text.LCD_Initalize+0x0): first defined here<br />collect2.exe: error: ld returned 1 exit status<br />make: *** [LCD2.elf] Błąd 1<br /><br />22:33:47 Build Finished (took 565ms)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10397">kopcor07</a> — 24 lip 2016, o 22:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Andrzej]]></name></author>
<updated>2016-07-22T14:06:46+01:00</updated>
<published>2016-07-22T14:06:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164531#p164531</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164531#p164531"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164531#p164531"><![CDATA[
Tak jak piszą inni brak pliku <strong>hd44780.c</strong>, a nikt Ci nie da bibliotek gotowych z Mirka książki, więc nie licz że znajdziesz jakieś na forum.<br />Mogę jedynie pomóc podając link do ogólnie dostępnych <!-- m --><a class="postlink" href="http://radzio.dxp.pl/hd44780/" >http://radzio.dxp.pl/hd44780/</a><!-- m -->.<br />Kup sobie książkę <!-- m --><a class="postlink" href="https://www.sklep.atnel.pl/pl/p/Mikrokontrolery-AVR-Jezyk-C-podstawy-programowania-PL-Ksiazka-Pendrive/75" >https://www.sklep.atnel.pl/pl/p/Mikroko ... endrive/75</a><!-- m -->, jeśli naprawdę chcesz zacząć przygodę z programowaniem <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=7001">Andrzej</a> — 22 lip 2016, o 14:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2016-07-22T09:47:46+01:00</updated>
<published>2016-07-22T09:47:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164516#p164516</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164516#p164516"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164516#p164516"><![CDATA[
Kolego brak pliku hd44780.c z funkcjami. Plik .h posiada tylko naglowki funkcji oraz definicje pinow.<br /><br />Namazane ze smarta.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 22 lip 2016, o 09:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[maverick_as]]></name></author>
<updated>2016-07-22T09:34:03+01:00</updated>
<published>2016-07-22T09:34:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164514#p164514</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164514#p164514"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164514#p164514"><![CDATA[
@kopcor07<br />tak z kronikarskiego obowiązku;<br />kolego, nie jesteś na forum &quot;od wczoraj&quot;, wypadałoby się stosować do:<br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --><br />bo Ci moderator ....<br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9169">maverick_as</a> — 22 lip 2016, o 09:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nefarious19]]></name></author>
<updated>2016-07-22T09:07:47+01:00</updated>
<published>2016-07-22T09:07:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164513#p164513</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164513#p164513"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164513#p164513"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />to po podaniu pliku nagłówkowego powinno działać<br /></div><br /><br />i pliku źródłowego .c<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2500">Nefarious19</a> — 22 lip 2016, o 09:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Szafa]]></name></author>
<updated>2016-07-22T08:47:54+01:00</updated>
<published>2016-07-22T08:47:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164512#p164512</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164512#p164512"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164512#p164512"><![CDATA[
Jeśli tylko poprawnie podłączyłeś wyświetlacz, to po podaniu pliku nagłówkowego powinno działać <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=1152">Szafa</a> — 22 lip 2016, o 08:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[janusz17]]></name></author>
<updated>2016-07-22T08:06:07+01:00</updated>
<published>2016-07-22T08:06:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164509#p164509</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164509#p164509"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164509#p164509"><![CDATA[
No tak, ewidentnie widać, że nie ma pliku HD44780.c<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1226">janusz17</a> — 22 lip 2016, o 08:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Makowka]]></name></author>
<updated>2016-07-22T07:58:23+01:00</updated>
<published>2016-07-22T07:58:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164508#p164508</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164508#p164508"/>
<title type="html"><![CDATA[Re: Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164508#p164508"><![CDATA[
Witam,<br />Kompilator mówi o braku deklaracji funkcji. <br />Gdzie jest plik C [HD44780.c] z definicjami -(ich tu również nie widzę) ? (Bo rozumiem, że nie korzystasz z biblioteki z BB)<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10748">Makowka</a> — 22 lip 2016, o 07:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kopcor07]]></name></author>
<updated>2016-07-22T07:46:56+01:00</updated>
<published>2016-07-22T07:46:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164507#p164507</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164507#p164507"/>
<title type="html"><![CDATA[Problem z Wyświetlaczem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15828&amp;p=164507#p164507"><![CDATA[
Witam,<br /><br />jestem początkującym adeptem programowania . Kupiłem sobie niedawno wyświetlacz LCD HD44780. Postanowiłem go sprawdzić czy on w ogóle działa. Znalazłem gotowy projekt gdzieś na forum , który działa. Mi niestety pokazują się takie błędy:<br /><br />08:21:51 **** Incremental Build of configuration Release for project LCD2 ****<br />make all <br />'Building file: ../main.c'<br />'Invoking: AVR Compiler'<br />avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=1000000UL -MMD -MP -MF&quot;main.d&quot; -MT&quot;main.o&quot; -c -o &quot;main.o&quot; &quot;../main.c&quot;<br />../main.c: In function 'main':<br />../main.c:11:9: warning: implicit declaration of function 'LCD_Initalize' [-Wimplicit-function-declaration]<br />         LCD_Initalize();<br />         ^<br />../main.c:13:9: warning: implicit declaration of function 'LCD_Home' [-Wimplicit-function-declaration]<br />         LCD_Home();<br />         ^<br />../main.c:14:9: warning: implicit declaration of function 'LCD_Clear' [-Wimplicit-function-declaration]<br />         LCD_Clear();<br />         ^<br />../main.c:15:9: warning: implicit declaration of function 'LCD_GoTo' [-Wimplicit-function-declaration]<br />         LCD_GoTo(2,2);<br />         ^<br />../main.c:16:9: warning: implicit declaration of function 'LCD_WriteText' [-Wimplicit-function-declaration]<br />         LCD_WriteText(&quot;Kocham Cie!&quot;);<br />         ^<br />'Finished building: ../main.c'<br />' '<br />'Building target: LCD2.elf'<br />'Invoking: AVR C Linker'<br />avr-gcc -Wl,-Map,LCD2.map -mmcu=atmega8 -o &quot;LCD2.elf&quot;  ./main.o   <br />./main.o: In function `main':<br />main.c:(.text.startup.main+0x0): undefined reference to `LCD_Initalize'<br />main.c:(.text.startup.main+0xe): undefined reference to `LCD_Home'<br />main.c:(.text.startup.main+0x10): undefined reference to `LCD_Clear'<br />main.c:(.text.startup.main+0x1a): undefined reference to `LCD_GoTo'<br />main.c:(.text.startup.main+0x20): undefined reference to `LCD_WriteText'<br />collect2.exe: error: ld returned 1 exit status<br />make: *** [LCD2.elf] Błąd 1<br /><br />08:21:52 Build Finished (took 1s.187ms)<br /><br />Obrazek z funkcji main.c<br /><a href="https://obrazkiforum.atnel.pl/10397/09e10507b340ba0370be48ed71f94d3b.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/10397/09e10507b340ba0370be48ed71f94d3b.jpg" alt="Obrazek" /></a><br /><br />HD44780 cz.1<br /><a href="https://obrazkiforum.atnel.pl/10397/47719d6c02d6aa3c31043d59783d9416.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/10397/47719d6c02d6aa3c31043d59783d9416.jpg" alt="Obrazek" /></a><br /><br />HD44780 cz.2<br /><a href="https://obrazkiforum.atnel.pl/10397/b6315d18aa1203ef3015cc01843e75e0.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/10397/b6315d18aa1203ef3015cc01843e75e0.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10397">kopcor07</a> — 22 lip 2016, o 07:46</p><hr />
]]></content>
</entry>
</feed>