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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-09-29T07:12:14+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=13056&amp;mode</id>
<entry>
<author><name><![CDATA[daro2020]]></name></author>
<updated>2015-09-29T07:12:14+01:00</updated>
<published>2015-09-29T07:12:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140997#p140997</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140997#p140997"/>
<title type="html"><![CDATA[Re: Problem z LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140997#p140997"><![CDATA[
1 zasada, gdy coś nie działa -  sprawdzić poprawność połączeń. Bez tego, to i sam zmarnujesz czas, ja i ci, którzy będą szukać rzekomych błędów w kodzie.<br />2 zasada, gdy zabierasz się za lcd, zaczynaj od prostych funkcji (bez BusyFlag, 4bit), i jeśli wyświetlisz cokolwiek, wtedy kombinujesz dalej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1608">daro2020</a> — 29 wrz 2015, o 07:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[shark31]]></name></author>
<updated>2015-09-28T22:24:28+01:00</updated>
<published>2015-09-28T22:24:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140992#p140992</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140992#p140992"/>
<title type="html"><![CDATA[Re: Problem z LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140992#p140992"><![CDATA[
Mógłby ktoś chociaż sprawdzić czy funkcje do przesyłania bajtów działają odpowiednio? Tzn. najpierw jest przesyłana jest starsza czesc a potem mlodsza?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10356">shark31</a> — 28 wrz 2015, o 22:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[shark31]]></name></author>
<updated>2015-09-27T20:21:00+01:00</updated>
<published>2015-09-27T20:21:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140901#p140901</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140901#p140901"/>
<title type="html"><![CDATA[Re: Problem z LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140901#p140901"><![CDATA[
Poł dnia się juz z tym męczę... Gdyby ktoś miał trochę czasu to może wskazać błędy. Nic sie nie wyswietla.<br /><br />Biblioteka wyswietlacza:<br />[syntax=c]/*<br /> * lcd_init.c<br /> *<br /> *  Created on: 26 wrz 2015<br /> *      Author: Jacek<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/eeprom.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;lcd_init.h&quot;<br /><br /><br /><br />uint8_t check_BF(void);<br /><br /><br /><br />static inline void init_out(void)<br />{<br />DDRC |= (1&lt;&lt;PC7); //D7<br />DDRC |= (1&lt;&lt;PC6); //D6<br />DDRC |= (1&lt;&lt;PC5); //D5<br />DDRC |= (1&lt;&lt;PC4); //D4<br />}<br /><br />static inline void init_in(void)<br />{<br />DDRC &amp;= ~(1&lt;&lt;PC7); //D7<br />DDRC &amp;= ~(1&lt;&lt;PC6); //D6<br />DDRC &amp;= ~(1&lt;&lt;PC5); //D5<br />DDRC &amp;= ~(1&lt;&lt;PC4); //D4<br />}<br /><br /><br />static inline void lcd_shalf(uint8_t data) //Przesłanie połowy<br />{<br />PORTC = (PORTC &amp; 0x0F) | (data &amp; 0xF0);<br />}<br /><br />static inline void lcd_sfull(uint8_t data1) //Przesłanie calego bajtu<br />{<br />init_out();<br /><br />PORTD &amp;= ~(1&lt;&lt;RW); //RW<br />PORTD |= (1&lt;&lt;E); //E<br />lcd_shalf(data1);<br />PORTD &amp;= ~(1&lt;&lt;E); //E<br /><br />PORTD |= (1&lt;&lt;RW);<br />PORTD |= (1&lt;&lt;E);<br />lcd_shalf(data1&lt;&lt;4);<br />PORTD &amp;= ~(1&lt;&lt;E);<br /><br />while (check_BF() &amp; (1&lt;&lt;7));<br />}<br /><br /><br /><br />void lcd_write_cmd(uint8_t cmd) //Komenda<br />{<br />PORTD &amp;= ~(1&lt;&lt;RS);<br />lcd_sfull(cmd);<br />}<br /><br /><br />void lcd_write_data(uint8_t data) //Dane<br />{<br />PORTD |= (1&lt;&lt;RS);<br />lcd_sfull(data);<br />}<br /><br /><br />static inline uint8_t lcd_rhalf(void) //Odczytanie polowy<br />{<br />uint8_t result=0;<br /><br />if(PINC&amp;(1&lt;&lt;PC4)) result |= (1&lt;&lt;0);<br />if(PINC&amp;(1&lt;&lt;PC5)) result |= (1&lt;&lt;1);<br />if(PINC&amp;(1&lt;&lt;PC6)) result |= (1&lt;&lt;2);<br />if(PINC&amp;(1&lt;&lt;PC7)) result |= (1&lt;&lt;3);<br /><br />return result;<br />}<br /><br />static inline uint8_t lcd_rfull(void) //Oczytanie calego bajtu<br />{<br />uint8_t result=0;<br />init_in();<br /><br />PORTD |= (1&lt;&lt;RW);<br /><br />PORTD |= (1&lt;&lt;E);<br />result = (lcd_rhalf() &lt;&lt; 4);// odczyt starszej części bajtu z LCD D7..D4<br />PORTD &amp;= ~(1&lt;&lt;E);<br /><br />PORTD |= (1&lt;&lt;E);<br />result |= lcd_rhalf();// odczyt młodszej części bajtu z LCD D3..D0<br />PORTD &amp;= ~(1&lt;&lt;E);<br /><br />return result;<br />}<br /><br />uint8_t check_BF(void) //FLaga<br />{<br />PORTD &amp;= ~(1&lt;&lt;RS);<br />return lcd_rfull();<br />}<br /><br />void lcd_cls(void)<br />{<br />lcd_write_cmd( LCDC_CLS );<br />}<br /><br />//Inicjalizacja<br />void lcd_init(void)<br />{<br />init_out();<br /><br />DDRD |= (1&lt;&lt;RS);<br />DDRD |= (1&lt;&lt;E);<br />DDRD |= (1&lt;&lt;RW);<br /><br /><br />PORTD |= (1&lt;&lt;RS); <br />PORTD |= (1&lt;&lt;E); <br />PORTD |= (1&lt;&lt;RW); <br /><br /><br />_delay_ms(15);<br /><br />PORTD &amp;= ~(1&lt;&lt;E);<br />PORTD &amp;= ~(1&lt;&lt;RS);<br />PORTD &amp;= ~(1&lt;&lt;RW);<br /><br /><br />PORTD |= (1&lt;&lt;E); <br /> lcd_shalf(0x30);<br />PORTD &amp;= ~(1&lt;&lt;E);<br /><br />_delay_ms(4.1);<br /><br />PORTD |= (1&lt;&lt;E);<br /> lcd_shalf(0x30);<br />PORTD &amp;= ~(1&lt;&lt;E);<br /><br />_delay_ms(100);<br /><br />PORTD |= (1&lt;&lt;E);<br /> lcd_shalf(0x30);<br />PORTD &amp;= ~(1&lt;&lt;E);<br /><br />_delay_ms(100);<br /><br />PORTD |= (1&lt;&lt;E);<br /> lcd_shalf(0x20);<br />PORTD &amp;= ~(1&lt;&lt;E);<br /><br />_delay_ms(100);<br /><br /><br />lcd_write_cmd( LCDC_FUNC|LCDC_FUNC4B|LCDC_FUNC2L|LCDC_FUNC5x7 );<br /><br />lcd_write_cmd( LCDC_ONOFF|LCDC_CURSOROFF );<br /><br />lcd_write_cmd( LCDC_ONOFF|LCDC_DISPLAYON );<br /><br />lcd_write_cmd( LCDC_ENTRY|LCDC_ENTRYR );<br /><br /><br />lcd_cls();<br /><br />}<br /><br />void lcd_str(char * str) //Wyswietlanie<br />{<br />while ( * str) lcd_write_data( * str++);<br />}[/syntax]<br /><br />Plik nagłówkowy wyswietlacza:<br />[syntax=c]/*<br /> * lcd_init.h<br /> *<br /> *  Created on: 26 wrz 2015<br /> *      Author: Jacek<br /> */<br /><br />#ifndef LCD_INIT_H_<br />#define LCD_INIT_H_<br /><br />#define E PD0<br />#define RW PD1<br />#define RS PD2<br /><br />// Komendy sterujące<br />#define LCDC_CLS0x01<br />#define LCDC_HOME0x02<br />#define LCDC_ENTRY0x04<br />#define LCDC_ENTRYR0x02<br />#define LCDC_ENTRYL0<br />#define LCDC_MOVE0x01<br />#define LCDC_ONOFF0x08<br />#define LCDC_DISPLAYON0x04<br />#define LCDC_CURSORON0x02<br />#define LCDC_CURSOROFF0<br />#define LCDC_BLINKON0x01<br />#define LCDC_SHIFT0x10<br />#define LCDC_SHIFTDISP0x08<br />#define LCDC_SHIFTR0x04<br />#define LCDC_SHIFTL0<br />#define LCDC_FUNC0x20<br />#define LCDC_FUNC8B0x10<br />#define LCDC_FUNC4B0<br />#define LCDC_FUNC2L0x08<br />#define LCDC_FUNC1L0<br />#define LCDC_FUNC5x100x04<br />#define LCDC_FUNC5x70<br />#define LCDC_SET_CGRAM0x40<br />#define LCDC_SET_DDRAM0x80<br /><br />void lcd_init(void);// WŁĄCZONA na stałe do kompilacji<br />void lcd_cls(void);// WŁĄCZONA na stałe do kompilacji<br />void lcd_str(char * str);<br /><br /><br />#endif /* LCD_INIT_H_ */[/syntax]<br /><br />i main:<br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 26 wrz 2015<br /> *      Author: Jacek<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &quot;lcd_init.h&quot;<br /><br />char tab&#91;&#93; = {&quot;Napis&quot;};<br /><br />int main(void)<br />{<br />DDRD |= (1&lt;&lt;PD5);<br />PORTD |= (1&lt;&lt;PD5);<br /><br />lcd_init();<br />lcd_str(tab);<br /><br /><br />while(1);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10356">shark31</a> — 27 wrz 2015, o 20:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[shark31]]></name></author>
<updated>2015-09-27T15:13:11+01:00</updated>
<published>2015-09-27T15:13:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140856#p140856</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140856#p140856"/>
<title type="html"><![CDATA[Re: Problem z LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140856#p140856"><![CDATA[
Ehh osioł ze mnie, nie wiem jakim cudem umknął mi ten algorytm z książki:/ Dzięki za szybką odpowiedź.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10356">shark31</a> — 27 wrz 2015, o 15:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anonimowy]]></name></author>
<updated>2015-09-27T11:20:12+01:00</updated>
<published>2015-09-27T11:20:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140838#p140838</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140838#p140838"/>
<title type="html"><![CDATA[Re: Problem z LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140838#p140838"><![CDATA[
Tak jak napisali koledzy wcześniej -tak właśnie wygląda inicjalizacja wyświetlacza z sterownikiem zgodnym z HD44780 w trybie 4-ro bitowym. Wystarczy, że otworzysz pierwszą lepszą dokumentację układu HD44780 i zobaczysz tam coś takiego (tu już w j. polskim)<br /><br /><a href="https://obrazkiforum.atnel.pl/3542/7e92fcdeb68e6790322e545b2e4f76e8.JPG"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/3542/7e92fcdeb68e6790322e545b2e4f76e8.JPG" alt="Obrazek" /></a><br /><br />Z resztą, to samo znajduje się w BB przy opisie obsługi LCD.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3542">anonimowy</a> — 27 wrz 2015, o 11:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wirnick]]></name></author>
<updated>2015-09-27T08:25:31+01:00</updated>
<published>2015-09-27T08:25:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140828#p140828</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140828#p140828"/>
<title type="html"><![CDATA[Re: Problem z LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140828#p140828"><![CDATA[
LCD jest samodzielnym modułem zdolnym do pracy po załączeniu zasilania - widoczne prostokąty(DDRAM - pusty) i do tego jedna linia, data 8bit - inicjacja default lub przypadkowa. MY chcemy mieć jasność. Puk, puk 3x starszymi bitami a młodsze LCD pobiera z niewykorzystanych linii - taki myk. Monitorze będziesz pracował jak MY chcemy  <img src="https://forum.atnel.pl/images/smilies/icon_twisted.gif" alt=":twisted:" title="Szalony" /> ,a LCD ma taką możliwość w ustawieniach.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9272">Wirnick</a> — 27 wrz 2015, o 08:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[daro2020]]></name></author>
<updated>2015-09-27T08:09:36+01:00</updated>
<published>2015-09-27T08:09:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140827#p140827</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140827#p140827"/>
<title type="html"><![CDATA[Re: Problem z LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140827#p140827"><![CDATA[
Przed przełączeniem w tryb 4bit, pierwsze 4 komendy są 8 bitowe, ale 4 najmlodsze bity są ignorowane przez LCD, więc korzystasz tylko z 4 starszych bitów, czyli w Twoim przypadku z 4 pinów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1608">daro2020</a> — 27 wrz 2015, o 08:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[shark31]]></name></author>
<updated>2015-09-26T23:36:20+01:00</updated>
<published>2015-09-26T23:36:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140820#p140820</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140820#p140820"/>
<title type="html"><![CDATA[Re: Problem z LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140820#p140820"><![CDATA[
Ale jak to zrealizowac skoro pracujemy tylko na 4 pinach...?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10356">shark31</a> — 26 wrz 2015, o 23:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matty24]]></name></author>
<updated>2015-09-26T22:36:53+01:00</updated>
<published>2015-09-26T22:36:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140815#p140815</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140815#p140815"/>
<title type="html"><![CDATA[Re: Problem z LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140815#p140815"><![CDATA[
Te pierwsze trzy razy całe bajty. Dopiero potem połówki. Tak na 98% <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=1129">matty24</a> — 26 wrz 2015, o 22:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[shark31]]></name></author>
<updated>2015-09-26T22:31:33+01:00</updated>
<published>2015-09-26T22:31:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140813#p140813</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140813#p140813"/>
<title type="html"><![CDATA[Re: Problem z LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140813#p140813"><![CDATA[
No dobra, ale to te poczatkowe bajty to nie wysyla sie po polowie? Najpierw starsza czesc, pozniej mlodsza? Czy to obowiazuje dopiero po tym jak ustawimy wyswietlacz na 4bity?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10356">shark31</a> — 26 wrz 2015, o 22:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matty24]]></name></author>
<updated>2015-09-26T22:19:08+01:00</updated>
<published>2015-09-26T22:19:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140811#p140811</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140811#p140811"/>
<title type="html"><![CDATA[Re: Problem z LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140811#p140811"><![CDATA[
Takie chyba są wymogi inicjalizacji LCD opartych na HD44780. Włączamy zasilanie, czekamy 15ms, wysyłamy bajt, czekamy &gt; 4.1ms, wysyłamy bajt, czekamy &gt;100us i tak łącznie 3 razy. Potem dopiero jako połówki i możemy odczytać BF.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1129">matty24</a> — 26 wrz 2015, o 22:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[shark31]]></name></author>
<updated>2015-09-26T21:56:38+01:00</updated>
<published>2015-09-26T21:56:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140808#p140808</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140808#p140808"/>
<title type="html"><![CDATA[Problem z LCD.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13056&amp;p=140808#p140808"><![CDATA[
Witam. Przerabiam wlasnie programowanie LCD z ksiazki i mam pytanie co do inicjalizacji.<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(15);<br />PORT(LCD_EPORT) &amp;= ~(1&lt;&lt;LCD_E);<br />PORT(LCD_RSPORT) &amp;= ~(1&lt;&lt;LCD_RS);<br />#if USE_RW == 1<br />    PORT(LCD_RWPORT) &amp;= ~(1&lt;&lt;LCD_RW);<br />#endif<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_ms(4.1);<br /><br />SET_E;<br />lcd_sendHalf(0x03);// tryb 8-bitowy<br />CLR_E;<br />_delay_us(100);<br /><br />SET_E;<br />lcd_sendHalf(0x03);// tryb 8-bitowy<br />CLR_E;<br />_delay_us(100);<br /><br />SET_E;<br />lcd_sendHalf(0x02);// tryb 4-bitowy<br />CLR_E;<br />_delay_us(100);<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 />Nie bardzo rozumiem co ty sie dzieje:<br />[syntax=c]// jeszcze nie można używać Busy Flag<br />SET_E;<br />lcd_sendHalf(0x03);// tryb 8-bitowy<br />CLR_E;<br />_delay_ms(4.1);<br /><br />SET_E;<br />lcd_sendHalf(0x03);// tryb 8-bitowy<br />CLR_E;<br />_delay_us(100);<br /><br />SET_E;<br />lcd_sendHalf(0x03);// tryb 8-bitowy<br />CLR_E;<br />_delay_us(100);<br /><br />SET_E;<br />lcd_sendHalf(0x02);// tryb 4-bitowy<br />CLR_E;<br />_delay_us(100);[/syntax]<br /><br />Tzn. ofc wiem ze to jest inicjalizacja, ale po co tego az tyle? Najpierw 8 bit, potem 4 bit...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10356">shark31</a> — 26 wrz 2015, o 21:56</p><hr />
]]></content>
</entry>
</feed>