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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2022-03-18T10:30:19+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=24186&amp;mode</id>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2022-03-18T10:30:19+01:00</updated>
<published>2022-03-18T10:30:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24186&amp;p=235242#p235242</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24186&amp;p=235242#p235242"/>
<title type="html"><![CDATA[Re: Zmienna globalna]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24186&amp;p=235242#p235242"><![CDATA[
Napisz konkretnie, o którą zmienną ci chodzi, bo jeśli o counter,<br />to w przerwaniu wpisz taką linijkę:<br />[syntax=c]static uint8_t counter;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 18 mar 2022, o 10:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[makarpi]]></name></author>
<updated>2022-03-17T13:34:03+01:00</updated>
<published>2022-03-17T13:34:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24186&amp;p=235234#p235234</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24186&amp;p=235234#p235234"/>
<title type="html"><![CDATA[Re: Zmienna globalna]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24186&amp;p=235234#p235234"><![CDATA[
Spróbuj ją zainicjalizować:<br /><br />uint8_t key_lock  = 0;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=507">makarpi</a> — 17 mar 2022, o 13:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Acade]]></name></author>
<updated>2022-03-17T12:12:41+01:00</updated>
<published>2022-03-17T12:12:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24186&amp;p=235233#p235233</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24186&amp;p=235233#p235233"/>
<title type="html"><![CDATA[Zmienna globalna]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24186&amp;p=235233#p235233"><![CDATA[
Cześć,<br /><br />mam do Was pytanie, dlaczego nie mogę zmienić wartości zmiennej globalnej przy wciskaniu klawisza ??<br />Jeśli tą samą zmienna przerzucę jako zmienna lokalną bez problemu działa. <br /><br />Chodzi dokładnie o tą część kodu:<br />[syntax=c]if( !key_lock &amp;&amp; !(PINC &amp; KEY1 ) ) {<br />key_lock=1;<br /><br /><br />flag_key =1;<br />LED1_TOG;<br /><br /><br />} else if( key_lock &amp;&amp; (PINC &amp; KEY1 ) ) key_lock++;[/syntax]<br /><br />i cały main:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;lcd.h&quot;<br /><br /><br />#define KEY1 (PC1)<br /><br />#define LED1 (1&lt;&lt;PC7)<br />#define LED2 (1&lt;&lt;PC6)<br />#define BACKLIGHT (1&lt;&lt;PD7)<br /><br /><br />#define LED1_ON<br />#define LED1_ON<br />#define LED1_TOG PORTC ^= LED1<br />#define LED2_TOG PORTC ^= LED2<br />#define BACKLIGHT_ON PORTD |= BACKLIGHT<br /><br /><br />#define LED1_OFF<br />#define LED1_OFF<br /><br />volatile uint8_t counter;<br />volatile uint8_t flag_key ;<br />uint8_t key_lock;<br /> <br /><br /><br /><br /><br />int main(void)<br />{<br /><br />// definicja zmiennych lokalnych<br /><br /><br /><br />  <br />lcd_init();  <br /><br /><br />// Ustawienie pinów jako wyjścia/wejscia<br /><br />DDRC |= LED1 | LED2;  <br />DDRD |= BACKLIGHT;<br /><br />DDRC &amp;= ~KEY1;<br /><br />// Podciągnięcie pod VCC<br /><br />PORTC |= LED1 | LED2;<br />PORTC |= KEY1;<br /><br /><br /><br />// Inicjalizacja Timera<br /><br />TCCR2 |= (1&lt;&lt;WGM21); // TRYB CTC<br />TCCR2 |= (1&lt;&lt;CS22) | (1&lt;&lt;CS20); // Preskaler 1024<br />TIMSK |= (1&lt;&lt;OCIE2); // zezwolenie na przerwanie Compare Match<br />OCR2 = 55;<br /><br /><br /><br />BACKLIGHT_ON;<br /><br /><br />  <br />  <br />  <br />  <br />  <br />sei();  <br />    while (1) <br />    {<br /><br />lcd_locate(0,0);<br />lcd_str(&quot;flag_key:  &quot;);<br />lcd_int(flag_key);<br />lcd_locate(1,0);<br />lcd_str(&quot;counter:  &quot;);<br />lcd_int(counter);<br /><br /><br /><br />if( !key_lock &amp;&amp; !(PINC &amp; KEY1 ) ) {<br />key_lock=1;<br /><br /><br />flag_key =1;<br />LED1_TOG;<br /><br /><br />} else if( key_lock &amp;&amp; (PINC &amp; KEY1 ) ) key_lock++;<br /><br /><br /><br />}<br />}<br /><br />ISR (TIMER2_COMP_vect){<br /><br /><br />if (flag_key){<br /><br /><br />counter ++;<br />}<br /><br />if (counter == 10 ){<br /><br />flag_key = 0;<br />counter = 0;<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21799">Acade</a> — 17 mar 2022, o 12:12</p><hr />
]]></content>
</entry>
</feed>