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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-02-05T11:37:32+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=20153&amp;mode</id>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2018-02-05T11:37:32+01:00</updated>
<published>2018-02-05T11:37:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203359#p203359</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203359#p203359"/>
<title type="html"><![CDATA[Re: pytanie o tablice]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203359#p203359"><![CDATA[
<div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />Jeśli użyłem funkcji lcd_cls do kasowania ekranu, to ta funkcja kasuje cały ekran, czy tylko linię np tą:<br /></div>lcd_cls() kasuje cały ekran. I ustawia kursor na pierwszym znaku pierwszej linii<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 5 lut 2018, o 11:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-02-05T11:09:53+01:00</updated>
<published>2018-02-05T11:09:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203357#p203357</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203357#p203357"/>
<title type="html"><![CDATA[Re: pytanie o tablice]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203357#p203357"><![CDATA[
dziękuję za pomoc. już to &quot;kumiem&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Właśnie takiej informacji o tablicach mi brakowało.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 5 lut 2018, o 11:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-02-05T10:51:15+01:00</updated>
<published>2018-02-05T10:51:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203355#p203355</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203355#p203355"/>
<title type="html"><![CDATA[Re: pytanie o tablice]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203355#p203355"><![CDATA[
przecież ty w tym programie zmieniasz tylko zawartość pierwszego elementu tablicy, tego i indeksie zero tab1[0] <br /><br />co to ma wspólnego z przeglądem zawartości tablicy ?<br /><br /><div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />, to dlaczego w obsłudze klawiszy muszę wpisywać tab1[0] ++; a nie tab1[10] ++;?<br /></div><br />a kto ci powiedział, że tak musisz ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> sam sobie to wymyśliłeś ale jak mówię <br /><br />[syntax=c]tab1&#91; index &#93;++[/syntax]<br /><br />zmienia tylko ZAWARTOŚĆ liczby która siedzi w tablicy w elemencie o danym indeksie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />zdefiniuj sobie lepiej zmienną np idx<br />[syntax=c]uint8_t idx;[/syntax]<br /><br />a później przeglądaj rzeczywiście elementy tablicy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />[syntax=c]if( !(PIND &amp; KLAWISZ_1)) {<br />  // wyswietl na lcd element tablicy tab1&#91;idx&#93;<br />  if( ++idx &gt; 9 ) idx = 0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 5 lut 2018, o 10:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2018-02-05T10:51:44+01:00</updated>
<published>2018-02-05T10:50:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203354#p203354</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203354#p203354"/>
<title type="html"><![CDATA[Re: pytanie o tablice]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203354#p203354"><![CDATA[
tak, tablica jest 10cio elementowa, ale Ty zmieniasz wartość elementu '0'. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />[syntax=c]uint8_t tab&#91;10&#93;={<br />/*0*/ 1,   // &lt;-------operujesz ciagle tym elementem, zmieniajac jego wartosc od '0' do '10'<br />/*1*/ 0,<br />/*2*/ 0,<br />/*3*/ 0,<br />/*4*/ 0,<br />/*5*/ 0,<br />/*6*/ 0,<br />/*7*/ 0,<br />/*8*/ 0, <br />/*9*/ 0<br />};[/syntax]<br />bo wpisujesz tab[0], zerowy element.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 5 lut 2018, o 10:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-02-05T10:37:03+01:00</updated>
<published>2018-02-05T10:37:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203352#p203352</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203352#p203352"/>
<title type="html"><![CDATA[pytanie o tablice]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20153&amp;p=203352#p203352"><![CDATA[
Cześć.<br />Napisałem sobie krótki program do wyświetlania zawartości tablicy na wyświetlaczu. Po przez naciskanie klawiszy mogę te wartości zmieniać w górę  i  w dół.<br />Pytanie moje dotyczy samych tablic, a mianowicie skoro tablica jest 10-cio elementowa, to dlaczego w obsłudze klawiszy muszę wpisywać  tab1[0] ++;  a nie  tab1[10] ++;?<br />Tego właśnie nie rozumiem jeszcze. <br /> [syntax=c]if( !(PIND &amp; KLAWISZ_1))<br />                        {<br />                                if (tab1&#91;0&#93; &lt; 10)<br />                                        {<br />                                                tab1&#91;0&#93; ++;<br />                                        }<br />                                                else tab1&#91;0&#93;=10;<br />                        }[/syntax]<br /><br /><br /><br /><br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/eeprom.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br /> <br /> <br />#define KLAWISZ_1 (1&lt;&lt;PD1)<br />#define KLAWISZ_2 (1&lt;&lt;PD0)<br /> <br />uint8_t tab1&#91;10&#93;;<br /> <br />int main(void)<br />{<br />        DDRC |=0xFF;<br />        PORTC = 0xFF;<br /> <br />        DDRD &amp;= ~(KLAWISZ_1 | KLAWISZ_2 );<br />        PORTD |= KLAWISZ_1 | KLAWISZ_2 ;<br /> <br />        lcd_init(); // inicjalizacja LCD<br />        _delay_ms(1000);<br />        //sei();<br /> <br />        while(1)<br />        {<br />                if( !(PIND &amp; KLAWISZ_1))<br />                        {<br />                                if (tab1&#91;0&#93; &lt; 10)<br />                                        {<br />                                                tab1&#91;0&#93; ++;<br />                                        }<br />                                                else tab1&#91;0&#93;=10;<br />                        }<br /> <br />                if( !(PIND &amp; KLAWISZ_2))<br />                        {<br />                                if (tab1&#91;0&#93;&gt;0)<br />                                        {<br />                                                tab1&#91;0&#93; --;<br />                                        }<br />                                                else tab1&#91;0&#93;=0;<br />                        }<br /> <br /> <br />             lcd_locate(1, 0);<br />             lcd_int(tab1&#91;0&#93;);<br />            _delay_ms(400);<br />             lcd_locate(1, 0);<br />             lcd_str(&quot;      &quot;);<br /> <br />        }<br />}[/syntax]'<br /><br />Ogólnie program śmiga , troszkę go już zmodyfikowałem i użyłem funkcji lcd_cls() do kasowania ekranu, zamiast stringa ze spacjami. <br /><br />Drugie pytanie:<br />Jeśli użyłem funkcji lcd_cls do kasowania ekranu, to ta funkcja kasuje cały ekran, czy tylko linię np tą:[syntax=c]lcd_locate(1, 0);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 5 lut 2018, o 10:37</p><hr />
]]></content>
</entry>
</feed>