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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-03-05T20:57:35+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=14605&amp;mode</id>
<entry>
<author><name><![CDATA[ciscoc]]></name></author>
<updated>2016-03-05T20:57:35+01:00</updated>
<published>2016-03-05T20:57:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=155483#p155483</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=155483#p155483"/>
<title type="html"><![CDATA[Re: obsługa wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=155483#p155483"><![CDATA[
ok, dziękuję<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12249">ciscoc</a> — 5 mar 2016, o 20:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[APAP75]]></name></author>
<updated>2016-03-02T00:06:59+01:00</updated>
<published>2016-03-02T00:06:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=155201#p155201</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=155201#p155201"/>
<title type="html"><![CDATA[Re: obsługa wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=155201#p155201"><![CDATA[
Ja to widzę w tak:<br /><br />Funkcji WyswietlLCD na &quot;karteczce&quot; przekazujesz ADRES do napisu (np. numer strony i linijkę pierwszej litery) i ILE napis ma liter (wartość).<br />Funkcja WyswietlLCD z kolei na innej &quot;karteczce&quot; przekazuje funkcji Wyslij_do_LCD znak do wyświetlenia (wartość) - po kolei - bierze spod adresu kolejną literkę i przekazuje funkcji Wyslij_do_LCD.<br />Funkcja Wyslij_do_LCD wyświetla znak na LCD, wyrzuca starą kartkę i przy kolejnym wywołaniu pobiera nową.<br /><br />Użyłem tu słowa &quot;karteczka&quot;, bo to są zmienne tymczasowe. Po zakończeniu działania funkcji znikają.<br />Ciężko tu przypisać jakiś konkretny adres.<br /><br />Tak to czuję. Mam nadzieję, że się nie pomyliłem (sierściuch jeszcze ze mnie, ale się starałem)  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" />  .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6195">APAP75</a> — 2 mar 2016, o 00:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matekogon]]></name></author>
<updated>2016-03-01T12:30:55+01:00</updated>
<published>2016-03-01T12:30:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=155146#p155146</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=155146#p155146"/>
<title type="html"><![CDATA[Re: obsługa wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=155146#p155146"><![CDATA[
Kolego jak ktoś ci może wytłumaczyć jak używasz  biblioteki Borkowskiego a większość na forum używa Mirka. Zaglądnij do funkcji wyslij_do_LCD. Przecież nikt nie wywróży co tam jest<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1380">matekogon</a> — 1 mar 2016, o 12:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ciscoc]]></name></author>
<updated>2016-03-01T09:11:01+01:00</updated>
<published>2016-03-01T09:11:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=155138#p155138</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=155138#p155138"/>
<title type="html"><![CDATA[Re: obsługa wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=155138#p155138"><![CDATA[
Panowie odezwijcie się odnośnie tego postu!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12249">ciscoc</a> — 1 mar 2016, o 09:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ciscoc]]></name></author>
<updated>2016-02-21T19:35:20+01:00</updated>
<published>2016-02-21T19:35:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=154322#p154322</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=154322#p154322"/>
<title type="html"><![CDATA[obsługa wyświetlacza LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14605&amp;p=154322#p154322"><![CDATA[
Witam, <br />panowie chciałbym abyście wytłumaczyli mi jak program krok po kroku wysyła napis &quot;Witaj, kotlecie&quot; na wyświetlacz LCD<br />Jest to fragment kodu programu zaczerpnięty z książki p.Pawła Borkowskiego<br />Interesuje mnie co dzieje się w funkcji WyswietlLCD oraz Wyslij_do_LCD(napis[k])?<br />[syntax=c]/*<br /> * main.c<br /> <br /> */<br />#include&lt;avr/io.h&gt;<br />#include&lt;util/delay.h&gt;<br /><br />#define DDR_LCD DDRB<br />#define PORT_LCD PORTB<br />#define RS_LCD PB2<br />#define EN_LCD PB3<br />#define DB4_LCD PB4<br />#define DB5_LCD PB5<br />#define DB6_LCD PB6<br />#define DB7_LCD PB7<br />//deklaracje funkcji<br />void Wyslij_do_LCD(int8_t bajt);<br />void WlaczLCD(void);<br />void CzyscLCD(void);<br />void WyswietlLCD(char*napis,int8_t ile);<br />//funkcja główna<br />int main(void)<br />{<br />char napis&#91;15&#93;=&quot;Witaj, kotlecie&quot;;<br />WlaczLCD();<br />WyswietlLCD(napis,15);<br />for(;;)<br />{}<br />}<br /><br />//definicja funkcji Wyslij_do_LCD<br />void Wyslij_do_LCD(int8_t bajt)<br />{<br />PORT_LCD|=_BV(EN_LCD);//ustawienie EN<br />PORT_LCD=(bajt &amp; 0xF0)|(PORT_LCD &amp; 0x0F);//wysłanie starszych 4 bitów danych<br />PORT_LCD&amp;=~(_BV(EN_LCD));//potwierdzenie wysłania danych<br />asm volatile(&quot;nop&quot;);//zaczekaj cykl<br />PORT_LCD|=_BV(EN_LCD);//ustawienie EN<br />PORT_LCD=((bajt &amp; 0x0F)&lt;&lt;4)|(PORT_LCD &amp; 0x0F);//wysłanie młodszych 4 bitów danych<br />PORT_LCD|=_BV(EN_LCD);//ustawienie EN<br />_delay_us(40);//zaczekaj 40us<br />}<br />//definicja funkcji WyswietlLCD<br />void WyswietlLCD(char*napis,int8_t ile)<br />{<br />int8_t k=0;<br />while(k&lt;ile)<br />{<br />Wyslij_do_LCD(napis&#91;k&#93;);<br />k++;<br />}<br />}[/syntax]<br /><br />ja to rozumuję w ten sposób (nie wiem czy dobrze, mam wątpliwości dlatego napisałem ten post) dla funkcji Wyslij_do_LCD<br />[syntax=c]int8_t k=0;<br />while(k&lt;15)<br />{ <br />Wyslij_do_LCD(napis&#91;k&#93;);<br />k++;<br />}[/syntax]<br />dla k=0 do funkcji Wyslij_do_LCD (W) zostanie przekazana literka W itd. Literka W znajduje się pod adresem 0x00 adres ten podstawiany jest pod zmienną bajt, po wykonaniu całej funkcji Wyslij_do_LCD () jej wynik czyli literka W przekazywana jest do funkcji WyswietlLCD() i teraz funkcja ta WyswietlLCD() odczytuje co znajduje się pod adresem 0x00. Podobnie dzieje się z innymi literkami.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12249">ciscoc</a> — 21 lut 2016, o 19:35</p><hr />
]]></content>
</entry>
</feed>