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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-10-31T09:28:10+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=21499&amp;mode</id>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-10-31T09:28:10+01:00</updated>
<published>2018-10-31T09:28:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213200#p213200</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213200#p213200"/>
<title type="html"><![CDATA[Re: wskaźniki - pierwsze starcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213200#p213200"><![CDATA[
Zwracam int. A jak dobrze rozumiem, to PORTC jest jony8_t. Dobrze rozumuję?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 31 paź 2018, o 09:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2018-10-31T08:35:08+01:00</updated>
<published>2018-10-31T08:35:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213194#p213194</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213194#p213194"/>
<title type="html"><![CDATA[Re: wskaźniki - pierwsze starcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213194#p213194"><![CDATA[
Ja bym się przyczepił do tej linijki.<br />[syntax=c]PORTC = ~sok(melon,kiwi);[/syntax]<br />Jakiego typu jest port, a jaki typ zwraca funkcja. :/<br /><br />Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 31 paź 2018, o 08:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-10-30T21:59:31+01:00</updated>
<published>2018-10-30T21:59:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213191#p213191</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213191#p213191"/>
<title type="html"><![CDATA[Re: wskaźniki - pierwsze starcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213191#p213191"><![CDATA[
ok, już wrzucam poprawiony i dobrze działający kod.<br />W linijce 38 dokonałem zmian.<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 &lt;string.h&gt;<br /><br />#include &quot;LCD/lcd44780.h&quot;<br /><br />#define KLAWISZ_1 (1&lt;&lt;PD0);<br />#define KLAWISZ_2 (1&lt;&lt;PD2);<br /><br />#define LED_LCD (1&lt;&lt;PD7);<br /><br />#define LED_1 (1&lt;&lt;PC0);<br />#define LED_2 (1&lt;&lt;PC1);<br />#define LED_3 (1&lt;&lt;PC2);<br />#define LED_4 (1&lt;&lt;PC3);<br />#define LED_5 (1&lt;&lt;PC4);<br />#define LED_6 (1&lt;&lt;PC5);<br />#define LED_7 (1&lt;&lt;PC6);<br />#define LED_8 (1&lt;&lt;PC7);<br /><br />#define LED_1_ON PORTC &amp;= ~LED_1;<br />#define LED_1_OFF PORTC |= LED_1;<br />#define LED_1_TOG PORTC ^= LED_1;<br /><br />#define LED_2_ON PORTC &amp;= ~LED_2;<br />#define LED_2_OFF PORTC |= LED_2;<br />#define LED_2_TOG PORTC ^= LED_2;<br /><br />#define KEY_1_PIN (1&lt;&lt;PD0);<br />#define KEY_2_PIN (1&lt;&lt;PD1);<br /><br />#define KEY_1_DOWN !(PIND &amp; KEY_1_PIN);<br />#define KEY_2_DOWN !(PIND &amp; KEY_2_PIN);<br /><br />int sok (int *a , int *b);    //deklaracja funkcji &lt;-- tutaj dodałem &quot;*&quot; do argumentów deklaracji funkcji.<br /><br />int x = 4, y = 2;//pierwsza i druga zmienna typu int<br />int *melon = &amp;x, *kiwi = &amp;y; //pierwszy i drugi wskaźnik ( wskaźńiki na zmienną x,y<br /><br />int koszyk;<br /><br /><br /><br />int main( void ){<br /><br />DDRD |= LED_LCD;  //ustaw pin jako wyjście<br />PORTD |= LED_LCD; //włącz podświetlenie wyświetlacza LCD<br /><br />DDRC |= 0xFF;  //ustaw piny jako wyjście<br />PORTC |= 0xFF; //wygaś wszystkie diody<br /><br />DDRD &amp;= ~KEY_1_PIN; //kierunek pinu PD0 jako wejście<br />DDRD |= KEY_1_PIN;  //porciągnięcie programowo do vcc-rezystorem<br />DDRD &amp;= ~KEY_2_PIN; //kierunek pinu PD1 jako wejście<br />DDRD |= KEY_2_PIN;  //podciągnięcire programowo do vcc-rezystorem<br /><br /><br />     lcd_init();<br />     lcd_str(&quot;SUMA&quot;);<br />     _delay_ms(50);<br /><br />     sei();<br /><br />while(1){<br /><br />// koszyk =  sok(x,y); <br />// PORTC = ~sok(x,y);  <br /> koszyk =  sok(melon,kiwi);<br /> PORTC = ~sok(melon,kiwi);<br /><br />        lcd_locate(0, 0);<br />        lcd_str(&quot;wskazniki&quot;);<br />        lcd_locate(1, 0);<br />//        lcd_int(*melon);<br />        lcd_int(koszyk);<br />}<br />}<br /><br />int sok (int *a , int *b){<br /><br />int suma;<br /><br />suma = *a + *b  ;<br /><br />return suma;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 30 paź 2018, o 21:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-10-30T21:52:03+01:00</updated>
<published>2018-10-30T21:52:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213190#p213190</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213190#p213190"/>
<title type="html"><![CDATA[Re: wskaźniki - pierwsze starcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213190#p213190"><![CDATA[
<div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />teraz już mi działa <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /></div><br />warto pokazać dla potomnych coś poprawił bo tak - to kto to wie czy działa czy nie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 paź 2018, o 21:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-10-30T21:23:44+01:00</updated>
<published>2018-10-30T21:23:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213188#p213188</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213188#p213188"/>
<title type="html"><![CDATA[Re: wskaźniki - pierwsze starcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213188#p213188"><![CDATA[
teraz już mi 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=14082">wojciechgorzolka</a> — 30 paź 2018, o 21:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-10-30T21:16:40+01:00</updated>
<published>2018-10-30T21:16:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213186#p213186</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213186#p213186"/>
<title type="html"><![CDATA[Re: wskaźniki - pierwsze starcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213186#p213186"><![CDATA[
<div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />int sok (int *a , int *b){<br /> <br />        int suma;<br /> <br />        suma = *a - *b  ;<br /> <br />        return suma;<br />}<br /></div><br />ja tobie proponuję rób próby a nie teoretyzuj - to sam szybo zobaczysz, że to nie zadziała i pomyślisz jak to naprawić<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 paź 2018, o 21:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-10-30T20:40:40+01:00</updated>
<published>2018-10-30T20:40:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213183#p213183</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213183#p213183"/>
<title type="html"><![CDATA[Re: wskaźniki - pierwsze starcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213183#p213183"><![CDATA[
no i znów mi Dareczek komplikuje życie;)))))<br />Czyli powinienem używać Twojego zapisu? jest bardziej poprawny od mojego? domyślam się ,że Twój przykład działa tak samo jak mój. Tak więc który sposób jest poprawniejszy? w którym przykładzie kod szybciej się wykona?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 15 minutach ]</span></strong><br /><br />Darku , coś jest nie tak z Tym Twoim fragmentem, ponieważ mi krzaczy <br /><br />[syntax=c]int x=10, y=2;<br />int *melon=&amp;x, *kiwi=&amp;y;<br />//-------<br />koszyk = sok_2( melon, kiwi ); // &lt;-------wskazniki/adresy! :)<br />//-------<br />//-------cialo funkcji<br />int sok_2(int *a , int *b){ // &lt;---------- miejsce na wskazniki/adresy<br />        int suma;<br />        suma = *a + *b  ;  // &lt;---------- suma tego co znajduje się pod adresami. (&quot;wyłuskane z adresu a , b &quot;).<br />        return suma;<br />}[/syntax]<br /><br />tu jest mój kod:<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 &lt;string.h&gt;<br /><br />#include &quot;LCD/lcd44780.h&quot;<br /><br />#define KLAWISZ_1 (1&lt;&lt;PD0);<br />#define KLAWISZ_2 (1&lt;&lt;PD2);<br /><br />#define LED_LCD (1&lt;&lt;PD7);<br /><br />#define LED_1 (1&lt;&lt;PC0);<br />#define LED_2 (1&lt;&lt;PC1);<br />#define LED_3 (1&lt;&lt;PC2);<br />#define LED_4 (1&lt;&lt;PC3);<br />#define LED_5 (1&lt;&lt;PC4);<br />#define LED_6 (1&lt;&lt;PC5);<br />#define LED_7 (1&lt;&lt;PC6);<br />#define LED_8 (1&lt;&lt;PC7);<br /><br />#define LED_1_ON PORTC &amp;= ~LED_1;<br />#define LED_1_OFF PORTC |= LED_1;<br />#define LED_1_TOG PORTC ^= LED_1;<br /><br />#define LED_2_ON PORTC &amp;= ~LED_2;<br />#define LED_2_OFF PORTC |= LED_2;<br />#define LED_2_TOG PORTC ^= LED_2;<br /><br />#define KEY_1_PIN (1&lt;&lt;PD0);<br />#define KEY_2_PIN (1&lt;&lt;PD1);<br /><br />#define KEY_1_DOWN !(PIND &amp; KEY_1_PIN);<br />#define KEY_2_DOWN !(PIND &amp; KEY_2_PIN);<br /><br />int sok (int a , int b); //deklaracja funkcji<br /><br /><br />int x = 10;<br />int y = 1;<br />int koszyk;<br /><br /><br />int *melon=&amp;x;//pierwszy wskaźnik<br />int *kiwi=&amp;y;//drugi wskaźnik<br /><br /><br /><br /><br />int main( void ){<br /><br />DDRD |= LED_LCD;  //ustaw pin jako wyjście<br />PORTD |= LED_LCD; //włącz podświetlenie wyświetlacza LCD<br /><br />DDRC |= 0xFF;  //ustaw piny jako wyjście<br />PORTC |= 0xFF; //wygaś wszystkie diody<br /><br />DDRD &amp;= ~KEY_1_PIN; //kierunek pinu PD0 jako wejście<br />DDRD |= KEY_1_PIN;  //porciągnięcie programowo do vcc-rezystorem<br />DDRD &amp;= ~KEY_2_PIN; //kierunek pinu PD1 jako wejście<br />DDRD |= KEY_2_PIN;  //podciągnięcire programowo do vcc-rezystorem<br /><br /><br />     lcd_init();<br />     lcd_str(&quot;SUMA&quot;);<br />     _delay_ms(50);<br /><br />     sei();<br /><br />while(1){<br /><br />// koszyk =  sok(x,y);<br />// PORTC = ~sok(x,y);<br /> koszyk =  sok(melon,kiwi);<br /> PORTC = ~sok(melon,kiwi);<br /><br />        lcd_locate(0, 0);<br />        lcd_str(&quot;wskazniki&quot;);<br />        lcd_locate(1, 0);<br />//        lcd_int(*melon);<br />        lcd_int(koszyk);<br />}<br />}<br /><br />int sok (int *a , int *b){<br /><br />int suma;<br /><br />suma = *a - *b  ;<br /><br />return suma;<br />}[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 28 minutach ]</span></strong><br /><br />aaa już wiem co zrobiłem źle. w deklaracji funkcji, przed mainem też powinienem dopisać &quot;gwiazdki&quot; w nawiasie.<br /><br />[syntax=c]int sok (int *a , int *b); //deklaracja funkcji[/syntax]<br /><br />i teraz wszystko śmiga. <br />Dzięki Darek <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=14082">wojciechgorzolka</a> — 30 paź 2018, o 20:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2018-10-30T20:34:06+01:00</updated>
<published>2018-10-30T20:34:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213182#p213182</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213182#p213182"/>
<title type="html"><![CDATA[Re: wskaźniki - pierwsze starcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213182#p213182"><![CDATA[
teraz to tak. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />możesz zrobić jeden krok do przodu,<br />[syntax=c]int x=10, y=2;<br />int *melon=&amp;x, *kiwi=&amp;y;<br />//-------<br />koszyk = sok_2( melon, kiwi ); // &lt;-------wskazniki/adresy! :)<br />//-------<br />//-------cialo funkcji<br />int sok_2(int *a , int *b){ // &lt;---------- miejsce na wskazniki/adresy<br />        int suma;<br />        suma = *a + *b  ;  // &lt;---------- suma tego co znajduje się pod adresami. (&quot;wyłuskane z adresu a , b &quot;).<br />        return suma;<br />}[/syntax]<br /><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=11549">Daro69</a> — 30 paź 2018, o 20:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-10-30T20:18:29+01:00</updated>
<published>2018-10-30T20:18:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213181#p213181</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213181#p213181"/>
<title type="html"><![CDATA[Re: wskaźniki - pierwsze starcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213181#p213181"><![CDATA[
dziękuję za podpowiedź. Czy teraz dobrze zadeklarowałem wskaźnik?<br /><br />[syntax=c]#define KEY_1_DOWN !(PIND &amp; KEY_1_PIN);<br />#define KEY_2_DOWN !(PIND &amp; KEY_2_PIN);<br /><br />int sok (int a , int b); //deklaracja funkcji<br /><br /><br />int x = 10;<br />int y = 2;<br />int koszyk;<br /><br /><br />int *melon = &amp;x;//pierwszy wskaźnik<br />int * kiwi = &amp;y;   //drugi wskaźnik<br /><br /><br /><br /><br />int main( void ){[/syntax]<br /><br />i czy dobrze go wpisałem  w funkcji, w pętli while? Czy to oto chodzi? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />[syntax=c]while(1){<br /><br /><br /> koszyk =  sok(*melon,*kiwi);<br /> PORTC = ~sok(x,y);<br /><br />        lcd_locate(0, 0);<br />        lcd_str(&quot;wskazniki&quot;);<br />        lcd_locate(1, 0);<br />        lcd_int(koszyk);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 30 paź 2018, o 20:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-10-30T20:01:41+01:00</updated>
<published>2018-10-30T20:01:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213180#p213180</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213180#p213180"/>
<title type="html"><![CDATA[Re: wskaźniki - pierwsze starcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213180#p213180"><![CDATA[
wskaźnik to jest TYLKO ADRES w pamięci RAM !<br /><br />a ty definiujesz wskaźnik ale go nie INICJALIZUJESZ - czyli twój wskaźnik *g nie wskazuje na ŻADEN adres - jest = ZERO<br /><br />więc jak chcesz coś zapisać pod adres ZERO ?<br /><br />[syntax=c]*g = x;[/syntax]<br /><br />???<br /><br />to niestety nie ma SENSU<br /><br />jak definiujesz wskaźnik - to zainicjalizuj go np<br /><br />[syntax=c]uint8_t abc;<br />uint8_t *g = &amp;abc;[/syntax]<br /><br />wtedy będzie twój przykład działał - i będziesz odwoływał się do zmiennej abc poprzez wskaźnik *g<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />zajrzyj do Bluebooka i zobacz na rysunki w rozdziale gdzie tłumaczę wskaźniki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 paź 2018, o 20:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-10-30T19:53:25+01:00</updated>
<published>2018-10-30T19:53:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213179#p213179</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213179#p213179"/>
<title type="html"><![CDATA[wskaźniki - pierwsze starcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21499&amp;p=213179#p213179"><![CDATA[
Cześć. napisałem krótki kod i chciałem zamiast zwykłej zmiennej użyć wskaźnika. Robię to pierwszy raz, więc nie mam pewności czy robię to poprawnie. <br />Zdeklarowałem sobie wskaźnik:<br />[syntax=c]int *g;[/syntax], <br />następnie w pętli głównej przypisuję zmienną &quot;x&quot; do mojego wskaźnika:<br />[syntax=c]while(1){<br /><br />*g = x;[/syntax]<br />A następnie podmieniam w funkcji &quot;sok() pierwszy argument funkcji:<br />[syntax=c]while(1){<br /><br /><br />*g = x;<br /><br /><br /> koszyk =  sok(*g,y);// &lt;--- tutaj podmieniłem<br /> PORTC = ~sok(x,y);<br /><br />        lcd_locate(0, 0);<br />        lcd_str(&quot;wskazniki&quot;);<br />        lcd_locate(1, 0);<br />        lcd_int(koszyk);<br />}[/syntax]<br /><br /><br />Czy o to chodzi we wskaźnikach? zrobiłem to poprawnie?<br /><br />Poniżej jest cały mój kod dla zorientowania się  co w nim robię <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><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 &lt;string.h&gt;<br /><br />#include &quot;LCD/lcd44780.h&quot;<br /><br />#define KLAWISZ_1 (1&lt;&lt;PD0);<br />#define KLAWISZ_2 (1&lt;&lt;PD2);<br /><br />#define LED_LCD (1&lt;&lt;PD7);<br /><br />#define LED_1 (1&lt;&lt;PC0);<br />#define LED_2 (1&lt;&lt;PC1);<br />#define LED_3 (1&lt;&lt;PC2);<br />#define LED_4 (1&lt;&lt;PC3);<br />#define LED_5 (1&lt;&lt;PC4);<br />#define LED_6 (1&lt;&lt;PC5);<br />#define LED_7 (1&lt;&lt;PC6);<br />#define LED_8 (1&lt;&lt;PC7);<br /><br />#define LED_1_ON PORTC &amp;= ~LED_1;<br />#define LED_1_OFF PORTC |= LED_1;<br />#define LED_1_TOG PORTC ^= LED_1;<br /><br />#define LED_2_ON PORTC &amp;= ~LED_2;<br />#define LED_2_OFF PORTC |= LED_2;<br />#define LED_2_TOG PORTC ^= LED_2;<br /><br />#define KEY_1_PIN (1&lt;&lt;PD0);<br />#define KEY_2_PIN (1&lt;&lt;PD1);<br /><br />#define KEY_1_DOWN !(PIND &amp; KEY_1_PIN);<br />#define KEY_2_DOWN !(PIND &amp; KEY_2_PIN);<br /><br />int sok (int a , int b); //deklaracja funkcji<br /><br /><br />int x = 10;<br />int y = 5;<br />int koszyk;<br /><br />int *w;<br />int *g;<br /><br /><br /><br /><br /><br />int main( void ){<br /><br />DDRD |= LED_LCD;  //ustaw pin jako wyjście<br />PORTD |= LED_LCD; //włącz podświetlenie wyświetlacza LCD<br /><br />DDRC |= 0xFF;  //ustaw piny jako wyjście<br />PORTC |= 0xFF; //wygaś wszystkie diody<br /><br />DDRD &amp;= ~KEY_1_PIN; //kierunek pinu PD0 jako wejście<br />DDRD |= KEY_1_PIN;  //porciągnięcie programowo do vcc-rezystorem<br />DDRD &amp;= ~KEY_2_PIN; //kierunek pinu PD1 jako wejście<br />DDRD |= KEY_2_PIN;  //podciągnięcire programowo do vcc-rezystorem<br /><br /><br />     lcd_init();<br />     lcd_str(&quot;SUMA&quot;);<br />     _delay_ms(50);<br /><br />     sei();<br /><br />while(1){<br /><br /><br />*g = x;<br /><br /><br /> koszyk =  sok(*g,y);<br /> PORTC = ~sok(x,y);<br /><br />        lcd_locate(0, 0);<br />        lcd_str(&quot;wskazniki&quot;);<br />        lcd_locate(1, 0);<br />        lcd_int(koszyk);<br />}<br />}<br /><br />int sok (int a , int b){<br /><br />int suma;<br /><br />suma = a-b  ;<br /><br />return suma;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 30 paź 2018, o 19:53</p><hr />
]]></content>
</entry>
</feed>