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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-09-20T16:04:00+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=3222&amp;mode</id>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-09-20T16:04:00+01:00</updated>
<published>2013-09-20T16:04:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=50216#p50216</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=50216#p50216"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=50216#p50216"><![CDATA[
[syntax=c]ok teraz działa skleiłem takie coś żeby ustawiać wyświetlacz<br /><br />if( !(PINC &amp; 1&lt;&lt;PC3) ) /* Ustawianie godziny */<br />      {<br />  _delay_ms(100);<br />  if( !(PINC &amp; 1&lt;&lt;PC3) )<br />  {<br />  while(1)<br />  {<br />  if(!(PINC &amp; 1&lt;&lt;PC1))<br />  {<br />  _delay_ms(100);<br />  if(!(PINC &amp; 1&lt;&lt;PC1))<br />  {<br />  segment++;<br />  if(segment &gt; 4)<br />  segment = 1;<br />  }<br />  }<br />  else if(!(PINC &amp; 1&lt;&lt;PC2))<br />  {<br />  _delay_ms(100);<br />  if(!(PINC &amp; 1&lt;&lt;PC2))<br />  {<br />  segment--;<br />  if(segment &lt; 1)<br />  segment = 4;<br />  }<br />  }<br />  else if(!(PINC &amp; 1&lt;&lt;PC0))<br />  {<br />  _delay_ms(100);<br />  if(!(PINC &amp; 1&lt;&lt;PC0))<br />  {<br />  if( segment == 1)<br />  {<br />  cy1++;<br />  if(cy1 &gt; 2)<br />  cy1 = 0;<br />  }<br />  else if( segment == 2 )<br />  {<br />  if(cy1 == 0 || cy1 == 1)<br />  {<br />  cy2++;<br />  if(cy2 &gt; 9)<br />  cy2 = 0;<br />  }<br />  else if(cy1 == 2)<br />  {<br />  cy2++;<br />  if(cy2 &gt; 4)<br />  cy2 = 0;<br />  }<br />  }<br />  else if(segment == 3)<br />  {<br />  cy3++;<br />  if(cy3 &gt; 5)<br />  cy3 = 0;<br />  }<br />  else if(segment == 4)<br />  {<br />  cy4++;<br />  if(cy4 &gt; 9)<br />  cy4 = 0;<br />  }<br />  }<br /><br />  }<br />  else if(!(PINC &amp; 1&lt;&lt;PC3))<br />  {<br />  _delay_ms(100);<br />  if(!(PINC &amp; 1&lt;&lt;PC4))<br />  break;<br />  }<br /><br />  }<br />  }<br />  }[/syntax]<br /><br />tylko jeszcze jedna sprawa<br />ponieważ chce żeby diody na zestawie uruchomieniowym to były jakby sekundy<br />a jest ich 8 to muszą się zapalać co 7,5s, ale w _delay_ms(7500) nie generuje takiego opóźnienia <br />więc jak to osiągnąć?<br /><br />oraz na wyświetlaczu lcd oprucz tego co wyślę to jeszcze jakieś śmieci wychodzą ale tylko w pierwszej lini.<br />a w drugiej jest ok<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 20 wrz 2013, o 16:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-09-20T14:30:02+01:00</updated>
<published>2013-09-20T14:30:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=50202#p50202</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=50202#p50202"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=50202#p50202"><![CDATA[
mam takie coś, dlaczego przycisk nie chce działać??<br /><br />[syntax=c]int main(void)<br />{<br /><br />PORTB |= (1&lt;&lt;PB7);/* podswietlenie lcd */<br />/* Diody */<br />DDRD = 0xFF;/* wyjscia */<br /><br />LED1_OF;<br />LED2_OF;<br />LED3_OF;<br />LED4_OF;<br />LED5_OF;<br />LED6_OF;<br />LED7_OF;<br />LED8_OF;<br /><br />/* LCD */<br />inicjalizacja_lcd();<br />lcd_locate(0,0);<br />lcd_str(&quot;Zegarek&quot;);// napis z pamięci RAM<br />lcd_locate(1,0);<br />lcd_str(&quot;Godziny Minuty&quot;);// napis z pamięci RAM<br /><br />/* 7SEG */<br />seg7Config();<br /><br />/* Przyciski */<br /><br /><br />DDRC &amp;= ~(1&lt;&lt;PC3); /* przycik wejscie */<br />DDRC &amp;= ~(1&lt;&lt;PC2); /* przycik wejscie */<br />DDRC &amp;= ~(1&lt;&lt;PC1); /* przycik wejscie */<br />DDRC &amp;= ~(1&lt;&lt;PC0); /* przycik wejscie */<br /><br />PORTC |= (1&lt;&lt;PC3); /* rezystor wewnętrzny przycisk nie wcinięty */<br />PORTC |= (1&lt;&lt;PC2); /* rezystor wewnętrzny przycisk nie wcinięty */<br />PORTC |= (1&lt;&lt;PC1); /* rezystor wewnętrzny przycisk nie wcinięty */<br />PORTC |= (1&lt;&lt;PC0); /* rezystor wewnętrzny przycisk nie wcinięty */<br /><br /><br />sei();<br />cy1 = cy2 = cy3 =cy4 = 0;<br />while(1)<br />{<br />if( !(PINC &amp; 1&lt;&lt;PC3) )<br />{<br />_delay_ms(80);<br />if( !(PINC &amp; 1&lt;&lt;PC3) )<br />{<br />while(1)<br />{<br />if( !(PINC &amp; 1&lt;&lt;PC0) )<br />{<br />cy1++;<br />}<br />else if( !(PINC &amp; 1&lt;&lt;PC3) )<br />{<br />break;<br />}<br />}<br />}<br />}<br />LED1_ON;<br />_delay_ms(100);<br />LED2_ON;<br />_delay_ms(100);<br />LED3_ON;<br />_delay_ms(100);<br />LED4_ON;<br />_delay_ms(100);<br />LED5_ON;<br />_delay_ms(100);<br />LED6_ON;<br />_delay_ms(100);<br />LED7_ON;<br />_delay_ms(100);<br />LED8_ON;<br />_delay_ms(100);<br /><br />if(++cy4&gt;9)<br />{<br />cy4=0;<br />if(++cy3&gt;5)<br />{<br />cy3=0;<br />if(++cy2&gt;9)<br />{<br />cy2=0;<br />if(++cy1&gt;6)<br />{<br />cy1=0;<br />}<br /><br />}<br />}<br />}<br /><br />if(cy1 == 2 &amp;&amp; cy2 == 4)<br />cy1 = cy2 = cy3 =cy4 = 0;<br /><br />LED1_OF;<br />LED2_OF;<br />LED3_OF;<br />LED4_OF;<br />LED5_OF;<br />LED6_OF;<br />LED7_OF;<br />LED8_OF;<br />}<br />}[/syntax]<br /><br />ale tutaj działa<br /><br />[syntax=c]int main(void)<br />{<br />DDRC &amp;= ~(1&lt;&lt;PC3);<br />PORTC |= (1&lt;&lt;PC3);<br /><br />DDRD = 0xFF;/* wyjscia */<br />PORTD = 0xFF;<br /><br />while(1)<br />{<br />if( PINC &amp; (1&lt;&lt;PC3))<br />{<br />PORTD &amp;= ~(1&lt;&lt;PD1);<br />}<br />if(!(PINC &amp; 1&lt;&lt;PC3))<br />{<br />_delay_ms(80);<br />if(!(PINC &amp; 1&lt;&lt;PC3))<br />{<br />PORTD ^=1&lt;&lt;PD0;<br />PORTD |= (1&lt;&lt;PD1);<br />_delay_ms(200);<br />}<br />}<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 20 wrz 2013, o 14:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-09-19T19:17:20+01:00</updated>
<published>2013-09-19T19:17:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=50111#p50111</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=50111#p50111"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=50111#p50111"><![CDATA[
teraz działa, dzięki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 19 wrz 2013, o 19:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-09-19T19:11:51+01:00</updated>
<published>2013-09-19T19:11:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=50108#p50108</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=50108#p50108"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=50108#p50108"><![CDATA[
powie mi ktos dlaczego timer się nie włącza??<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />#define SEG_A (1&lt;&lt;0)<br />#define SEG_B (1&lt;&lt;1)<br />#define SEG_C (1&lt;&lt;2)<br />#define SEG_D (1&lt;&lt;3)<br />#define SEG_E (1&lt;&lt;4)<br />#define SEG_F (1&lt;&lt;5)<br />#define SEG_G (1&lt;&lt;6)<br />#define SEG_DP (1&lt;&lt;7)<br /><br />uint8_t cyfry&#91;15&#93; = {~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F),<br />                     ~(SEG_B|SEG_C),<br />                     ~(SEG_A|SEG_B|SEG_D|SEG_E|SEG_G),<br />                     ~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_G),<br />                     ~(SEG_B|SEG_C|SEG_F|SEG_G),<br />                     ~(SEG_A|SEG_C|SEG_D|SEG_F|SEG_G),<br />                     ~(SEG_A|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G),<br />                     ~(SEG_A|SEG_B|SEG_C|SEG_F),<br />                     ~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G),<br />                     ~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_F|SEG_G) };<br /><br /><br />volatile uint8_t cy1;<br />volatile uint8_t cy2;<br />volatile uint8_t cy3;<br />volatile uint8_t cy4;<br /><br /><br />int main(void)<br />{<br />TCCR0 |= (1&lt;&lt;WGM01);<br />TCCR0 |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);<br />OCR0 = 39;<br />TIMSK |= (1&lt;&lt; OCIE0);<br /><br />DDRA = 0xFF;<br />PORTA = 0xFF;<br /><br />DDRC |= (1&lt;&lt;PC4) | (1&lt;&lt;PC5) | (1&lt;&lt;PC6) | (1&lt;&lt;PC7);<br />PORTC |= (1&lt;&lt;PC4) | (1&lt;&lt;PC5) | (1&lt;&lt;PC6) | (1&lt;&lt;PC7);<br /><br /><br />cy1 = 1;<br /><br /><br />while(1)<br />{<br /><br /><br />}<br />}<br /><br />ISR(TIMER0_COMP_vect)<br />{<br />static int licznik = 1;<br /><br />    if(licznik == 1)<br />    {<br />PORTC |= (1&lt;&lt;PC4) | (1&lt;&lt;PC5) | (1&lt;&lt;PC6) | (1&lt;&lt;PC7);<br />    PORTC &amp;= ~(1&lt;&lt;PC4);<br />        PORTA = cyfry&#91;cy1&#93;;<br />        licznik = 2;<br />    }<br />else if(licznik == 2)<br />        {<br />        PORTC |= (1&lt;&lt;PC4) | (1&lt;&lt;PC5) | (1&lt;&lt;PC6) | (1&lt;&lt;PC7);<br />        PORTC &amp;= ~(1&lt;&lt;PC5);<br />        PORTA = cyfry&#91;8&#93;;<br />        licznik = 3;<br />        }<br />else if(licznik == 3)<br />        {<br />        PORTC |= (1&lt;&lt;PC4) | (1&lt;&lt;PC5) | (1&lt;&lt;PC6) | (1&lt;&lt;PC7);<br />        PORTC &amp;= ~(1&lt;&lt;PC6);<br />        PORTA = cyfry&#91;1&#93;;<br />        licznik = 4;<br />        }<br />else if(licznik == 4)<br />        {<br />        PORTC |= (1&lt;&lt;PC4) | (1&lt;&lt;PC5) | (1&lt;&lt;PC6) | (1&lt;&lt;PC7);<br />        PORTC &amp;= ~(1&lt;&lt;PC7);<br />        PORTA = cyfry&#91;2&#93;;<br />        licznik = 1;<br />        }<br />}[/syntax]<br /><br />jak wkleję zawartość ISR do while to działa ale z nadaniem odpowiedniego opóźnienia.<br />tylko zmienna licznik przed while i bez static<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 19 wrz 2013, o 19:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PJS]]></name></author>
<updated>2013-09-12T08:01:50+01:00</updated>
<published>2013-09-12T08:01:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49297#p49297</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49297#p49297"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49297#p49297"><![CDATA[
<div class="quotetitle">NOOB napisał(a):</div><div class="quotecontent"><br />w tabelce nie znalazłem ustawianie kursora do następnego wiersza, a jak chcę przesunąć kursor np. o 10 miejsc to mi tu jest potrzebna pętla z rozkazem odpowiednim a tu niema<br /></div><br /><br />Nie ma potrzeby ustawiania kursora w następnym wierszu jakimś specjalnym rozkazem wbudowanym w mikrokontroler LCD. Najprościej: każda pozycja na LCD (nie zależnie od linii) ma swój adres i mikrokontroler wyświetlacza widzi tylko te adresy. O tym pisał już GwynBleidD. Gdy chcesz ustawić drugą linię wyświetlacza po prosu w tej funkcji podajesz y = 1, a reszta jest wyliczana. A jak chcesz przesunąć kursor o 10 miejsc to zwiększasz wartość x o dziesięć (x = x+10) (np. robisz swoją funkcję w tym celu) i taką wyliczoną wartość podajesz na funkcje lcd_locate, a ona wyznacza adres tej przesuniętej pozycji na wyświetlaczu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1614">PJS</a> — 12 wrz 2013, o 08:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-09-11T17:17:20+01:00</updated>
<published>2013-09-11T17:17:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49215#p49215</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49215#p49215"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49215#p49215"><![CDATA[
chodzi mi o tabelkę z rozkazami<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 11 wrz 2013, o 17:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-09-11T16:36:03+01:00</updated>
<published>2013-09-11T16:36:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49206#p49206</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49206#p49206"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49206#p49206"><![CDATA[
ale używam lcd_write_cmd czyli wysyłam komendę, a w tabelce nie mam czegoś takiego. Jest cos takiego jak przesunąć kursor w prawo o 1 pozycje, to musiałbym pętle jakaś zrobić.<br />I co oznacza to sumowanie (0x80 + y + x) i dlaczego jest 0x80??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 11 wrz 2013, o 16:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2013-09-11T15:22:35+01:00</updated>
<published>2013-09-11T15:22:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49200#p49200</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49200#p49200"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49200#p49200"><![CDATA[
Gdzie jest napisane że odpowiedź/pomoc ma by udzielona natychmiast?<br /><br />Trzeba poczekać, ludzie wrócą z pracy/szkoły i ktoś odpowie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 11 wrz 2013, o 15:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-09-11T15:17:03+01:00</updated>
<published>2013-09-11T15:17:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49199#p49199</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49199#p49199"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49199#p49199"><![CDATA[
rozumiem że nie pomożecie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 11 wrz 2013, o 15:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-09-11T13:00:05+01:00</updated>
<published>2013-09-11T13:00:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49191#p49191</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49191#p49191"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49191#p49191"><![CDATA[
Udało mi się uruchomić wyświetlacz dzięki, wyjaśnieniu jakie podesłał mi inny użytkownik forum.<br />czy mogę chociaż prosić o wyjaśnienie jak działa ustawianie kursora <br /><br />[syntax=c]void lcd_locate(uint8_t y, uint8_t x)<br />{<br />switch(y)<br />{<br />case 0: y = 0x00; break;<br />    case 1: y = 0x28; break; // adres 1 znaku 2 wiersza<br />}<br /><br />lcd_write_cmd( (0x80 + y + x) );<br />}[/syntax]<br /><br />w tabelce nie znalazłem ustawianie kursora do następnego wiersza, a jak chcę przesunąć kursor np. o 10 miejsc to mi tu jest potrzebna pętla z rozkazem odpowiednim a tu niema<br /><br /><span style="color: #FF0000">Ponieważ masz wystarczającą liczbę postów aby wiedzieć że przy wstawianiu kodów stosujemy syntax=c - Leci ostrzeżenie - Różowy J.</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 11 wrz 2013, o 13:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-09-10T16:35:45+01:00</updated>
<published>2013-09-10T16:35:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49114#p49114</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49114#p49114"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=49114#p49114"><![CDATA[
a powie mi ktoś chociaz jak czytac ta tabelkę z rozkazami??<br /><br />jak mam<br /><br />[syntax=c]// 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 />// 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 );[/syntax]<br /><br />to coś LCDC_FUNC|LCDC_FUNC4B|LCDC_FUNC2L|LCDC_FUNC5x7 daje w wyniku 00101000<br />i jak mam na to patrzeć w tabelce na która linijkę??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 10 wrz 2013, o 16:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-09-09T15:18:29+01:00</updated>
<published>2013-09-09T15:18:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=48923#p48923</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=48923#p48923"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=48923#p48923"><![CDATA[
Postanowiłem wrócić do sprawy tego wyświetlacza LCD.<br />Autor książki pokazuje jak zrobić od razu uniwersalną bibliotekę.<br />I jest tam tego taki natłok że się gubię.<br /><br />Chcę sobie zrobić prosty programik który pisze jaki tekst, bez zbędnych innych funkcji.<br />Najprostszą możliwość jaka się da. <br />Czy poda mi ktoś w punktach taki algorytm co zrobić.<br />Załóżmy że RW jest na stałe ustawione 0 tylko zapis żeby było łatwiej<br /><br />Tak samo zrobiłem z wyświetlaczem 7-seg tak żeby w ogóle zapalić jedną diodę, ale to był łatwiejszy temat.<br /><br />Nad LCD siedzę już 3 dzień i potrafię tylko zmieniać tekst w gotowcu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 9 wrz 2013, o 15:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ciamciak]]></name></author>
<updated>2013-06-12T17:52:42+01:00</updated>
<published>2013-06-12T17:52:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=39073#p39073</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=39073#p39073"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=39073#p39073"><![CDATA[
To te komendy:<br /><a href="http://forum.atnel.pl/_obrazki/o/54/fe78ab996440a7f2f02f3d6f5ea8cdae.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/54/fe78ab996440a7f2f02f3d6f5ea8cdae.png" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1254">ciamciak</a> — 12 cze 2013, o 17:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-06-12T17:28:53+01:00</updated>
<published>2013-06-12T17:28:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=39072#p39072</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=39072#p39072"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=39072#p39072"><![CDATA[
W rozdizale o LCD jest coś takiego<br /><br />LCD_FUNC, LCD_FUNC8B, LCD_FUNC4B, LCD_FUNC2L, LCD_FUNC5x7<br />LCDC_ONOFF, LCD_DISPLAYON, LCDC_CURSOROFF, LCDC_ENTRYR,<br />LCD_CLS, LCD_HOME<br /><br />W kodzie jest że to komendy sterujące i maja liczby zapisane szesnastkowo. <br />Co to za liczby?? za co one  odpowiadają??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 12 cze 2013, o 17:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-06-09T18:24:06+01:00</updated>
<published>2013-06-09T18:24:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38854#p38854</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38854#p38854"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38854#p38854"><![CDATA[
czyli każdy if odpowiada za jeden bit. a cała funkcja odpowiada ze za polówkę bajtu tak??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 9 cze 2013, o 18:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-06-09T18:07:58+01:00</updated>
<published>2013-06-09T18:07:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38850#p38850</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38850#p38850"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38850#p38850"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />I dlaczego jest tak ciężko udzielić wprost odpowiedzi.<br /></div><br /><br />po prostu trudno mi pisać od nowa książkę na forum .... w książce MASZ WYRAŹNIE napisane że sprawdzany jest bit BusyFLAG na 7 bicie a w dokumentacji LCD też masz to napisane. Ja chętnie pomagam każdemu - ale najpierw ustalmy że chociaż spróbujemy razem odnosić się do tego co przekazałem w książce - a ty jedyne co piszesz - to że przeczytałeś i nic nie zrozumiałeś .... to pokaż może - tzn odnieś się do fragmentu w którym piszę o BusyFlag i nie rozumiesz <br /><br />proszę bardzo co masz np w książce:<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/54/fe78ab996440a7f2f02f3d6f5ea8cdae.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/54/fe78ab996440a7f2f02f3d6f5ea8cdae.png" alt="Obrazek" /></a><br /><br />poza tym zobacz:<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/54/7b903e43d258a9b6a2a9d2cc3e080c02.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/54/7b903e43d258a9b6a2a9d2cc3e080c02.png" alt="Obrazek" /></a><br /><br /><a href="http://forum.atnel.pl/_obrazki/o/54/7e61eac3f5c8afe3b8e4bb0dba1b8012.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/54/7e61eac3f5c8afe3b8e4bb0dba1b8012.png" alt="Obrazek" /></a><br /><br />i co ? więc skończ proszę z tym tonem na forum bo zaczyna mi się to nie podobać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 cze 2013, o 18:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-06-09T17:57:58+01:00</updated>
<published>2013-06-09T17:57:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38848#p38848</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38848#p38848"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38848#p38848"><![CDATA[
a ja nie wiem czego ty nie rozumiesz w moim pytaniu.<br />Dlaczego sprawdza 4 bity, po czym mam to poznać.<br />oraz kiedy jest prawda kiedy na pierwszym bicie jest 1 czyli 0001<br />czy na wszystkich 1111, czy jedynka może być gdziekolwiek 0100.<br />I dlaczego jest tak ciężko udzielić wprost odpowiedzi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 9 cze 2013, o 17:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-06-09T17:33:42+01:00</updated>
<published>2013-06-09T17:33:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38838#p38838</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38838#p38838"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38838#p38838"><![CDATA[
<div class="quotetitle">NOOB napisał(a):</div><div class="quotecontent"><br />ale gdzie jest uwarunkowane że sprawdza akurat 4 bity?? gdzie??<br /></div><br /><br />Niestety nie ominie cię tutaj poczytanie i to sporo oraz zrozumienie jak działają wyświetlacze LCD zgodne z HD44780 .... jeśli mało ci informacji w książce to akurat tak się składa że internet aż trzeszczy od informacji w tym zakresie - chodzi o te wszystkie przebiegi czasowe i takie czyste podejście elektroniczne - bo zadajesz pytania w ogóle w oderwaniu od wszystkiego. Ja rozumiem że można czegoś nie rozumieć - tym bardziej jak się nie ma nic wspólnego z elektroniką tylko programowaniem - no ale na ZEUSA - to wtedy nie można pomijać tych informacji bo nic nie zrozumiesz .... a z pytań wynika mi że ty chcesz na skróty jakby<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 cze 2013, o 17:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-06-09T17:29:18+01:00</updated>
<published>2013-06-09T17:29:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38836#p38836</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38836#p38836"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38836#p38836"><![CDATA[
czyli sprawdza tylko pierwszy bit??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 9 cze 2013, o 17:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-06-09T17:11:33+01:00</updated>
<published>2013-06-09T17:11:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38829#p38829</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38829#p38829"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38829#p38829"><![CDATA[
ale gdzie jest uwarunkowane że sprawdza akurat 4 bity?? gdzie??<br />i jak wygląda takie sprawdzanie??<br />Musi być na pierwszym miejscu 1 żeby była prawda czy może być gdziekolwiek?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 9 cze 2013, o 17:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-06-09T17:06:35+01:00</updated>
<published>2013-06-09T17:06:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38827#p38827</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38827#p38827"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38827#p38827"><![CDATA[
sprawdza 4 bo jesteśmy w trybie 4 bitowym? a jak by był tryb 8 bitowy to by sprawdzał 8??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 9 cze 2013, o 17:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-06-09T17:01:03+01:00</updated>
<published>2013-06-09T17:01:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38824#p38824</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38824#p38824"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38824#p38824"><![CDATA[
<div class="quotetitle">NOOB napisał(a):</div><div class="quotecontent"><br />w książce pisze że w warunku if są sprawdzane 4 młodsze bajty. ale dlaczego akurat 4, gdzie to jest zapisane żeby brać pod uwagę 4 a nie przykład 8<br /></div><br /><br />i w tej samej książce masz to napisane - w rozdziale o LCD przy inicjalizacji gdy przechodzimy na tryb 4-bitowy<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 cze 2013, o 17:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-06-09T16:34:26+01:00</updated>
<published>2013-06-09T16:34:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38818#p38818</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38818#p38818"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38818#p38818"><![CDATA[
po odłączeniu ekranu wszystko hula,<br />Ale dlaczego sprawdza 4 najmłodsze bity, a nie 5  lub 6<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 9 cze 2013, o 16:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-06-09T16:20:34+01:00</updated>
<published>2013-06-09T16:20:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38813#p38813</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38813#p38813"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38813#p38813"><![CDATA[
[syntx=c]// tu konfigurujemy port i piny do jakich podłączymy linie D7..D4 LCD<br />#define LCD_D7PORT  B<br />#define LCD_D7 7<br />#define LCD_D6PORT  B<br />#define LCD_D6 6<br />#define LCD_D5PORT  B<br />#define LCD_D5 5<br />#define LCD_D4PORT  B<br />#define LCD_D4 4<br /><br /><br />// tu definiujemy piny procesora do których podłączamy sygnały RS,RW, E<br />#define LCD_RSPORT B<br />#define LCD_RS 0<br /><br />#define LCD_RWPORT B<br />#define LCD_RW 1<br /><br />#define LCD_EPORT B<br />#define LCD_E 2[/syntax]<br /><br />Mam jeszcze pytanie co do tej funkcji<br />[syntax=c]static inline void lcd_sendHalf(uint8_t data)<br />{<br />if (data&amp;(1&lt;&lt;0)) PORT(LCD_D4PORT) |= (1&lt;&lt;LCD_D4); else PORT(LCD_D4PORT) &amp;= ~(1&lt;&lt;LCD_D4);<br />if (data&amp;(1&lt;&lt;1)) PORT(LCD_D5PORT) |= (1&lt;&lt;LCD_D5); else PORT(LCD_D5PORT) &amp;= ~(1&lt;&lt;LCD_D5);<br />if (data&amp;(1&lt;&lt;2)) PORT(LCD_D6PORT) |= (1&lt;&lt;LCD_D6); else PORT(LCD_D6PORT) &amp;= ~(1&lt;&lt;LCD_D6);<br />if (data&amp;(1&lt;&lt;3)) PORT(LCD_D7PORT) |= (1&lt;&lt;LCD_D7); else PORT(LCD_D7PORT) &amp;= ~(1&lt;&lt;LCD_D7);<br />}[/syntax]<br /><br />w książce pisze że w warunku if są sprawdzane 4 młodsze bajty. ale dlaczego akurat 4, gdzie to jest zapisane żeby brać pod uwagę 4 a nie przykład 8<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 9 cze 2013, o 16:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[NOOB]]></name></author>
<updated>2013-06-09T11:43:04+01:00</updated>
<published>2013-06-09T11:43:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38782#p38782</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38782#p38782"/>
<title type="html"><![CDATA[Re: przykłady z książki - Pytania]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3222&amp;p=38782#p38782"><![CDATA[
Przeczytałem nawet  2 razy i nic nie zrozumiałem. <br />Więc pomyślałem że uruchomię gotowy program, i zacznę śledzić jego działanie i doczytywać wszystko z książki raz jeszcze.<br />Ale ja tego nawet uruchomić nie umiem. Prawdopodobnie źle podpinam, a nie wiem gdzie to podpiąć.<br />Przypiąłem do portu B ale nic się dzieje. Tylko się świeci ale to back light gdzie nie przypnę to się świeci<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1361">NOOB</a> — 9 cze 2013, o 11:43</p><hr />
]]></content>
</entry>
</feed>