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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-01-21T16:16:14+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=10327&amp;mode</id>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2015-01-21T16:16:14+01:00</updated>
<published>2015-01-21T16:16:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115149#p115149</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115149#p115149"/>
<title type="html"><![CDATA[Re: Pytanie o specyfikaor volatile]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115149#p115149"><![CDATA[
ale Panie Mirku ja uwielbiam ten Pana humor w poradnikach <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> fajnie Pan mówił przy diodach WS2812 że najadają się bitami <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br />Bardzo chętnie obejrzę:) jeszcze raz dziękuję za pomoc<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2511">Jarecki</a> — 21 sty 2015, o 16:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-01-21T16:14:46+01:00</updated>
<published>2015-01-21T16:14:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115148#p115148</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115148#p115148"/>
<title type="html"><![CDATA[Re: Pytanie o specyfikaor volatile]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115148#p115148"><![CDATA[
<div class="quotetitle">Jarecki napisał(a):</div><div class="quotecontent"><br />wszystko jasne bardzo dziękuję. A mam takie pytanie jeszcze. Kod programu w przerwaniu może być dowolnie długi?<br /></div><br /><br />Proszę cię obejrzyj ten poradnik<br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2013/12/przerwania-okiem-poczatkujacego.html" >http://mirekk36.blogspot.com/2013/12/pr ... acego.html</a><!-- m --><br /><br />być może troszkę dużo tam humoru - ale poruszam ważne kwestie właśnie jeśli chodzi o przerwania i czas ich wykonywania. Niezrozumienie tego zwykle prowadzi do samych problemów i zniechęcania się początkujących programistów<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 sty 2015, o 16:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2015-01-21T16:12:18+01:00</updated>
<published>2015-01-21T16:12:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115146#p115146</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115146#p115146"/>
<title type="html"><![CDATA[Re: Pytanie o specyfikaor volatile]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115146#p115146"><![CDATA[
wszystko jasne bardzo dziękuję. A mam takie pytanie jeszcze. Kod programu w przerwaniu może być dowolnie długi?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2511">Jarecki</a> — 21 sty 2015, o 16:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-01-21T16:08:20+01:00</updated>
<published>2015-01-21T16:08:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115145#p115145</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115145#p115145"/>
<title type="html"><![CDATA[Re: Pytanie o specyfikaor volatile]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115145#p115145"><![CDATA[
A czym to się różni że w przerwaniu wywołasz funkcję ? od tego czy to samo co w funkcji napiszesz w przerwaniu ? .... spróbuj to sobie jakoś sam wyjaśnić a znajdziesz sam odpowiedź .... że NICZYM się nie różni<br /><br />co więcej - robisz niepotrzebny narzut czasowy - na rozkazy CALL i RET (czyli skok do funkcji i powrót) .... ale to gdyby funkcja była dłuższa bo .... i teraz UWAŻAJ, przy takim kodzie jak wyżej napisałeś - to gdybyś podejrzał kod asemblera po kompilacji to byś się srogo zdziwił - ponieważ okazałoby się że kompilator sam usunąłby w ogóle twoją funkcję a inkrementację normalnie wcielił do kodu przerwania - czyli reasumując dokonałby w ramach optymalizacji operacji INLINE dla takiej funkcji<br /><br />myślę, że to DOBITNIE ci wyjaśnia - że NIE MA ŻADNEJ różnicy i dlaczego jeśli korzystasz ze zmiennej w przerwaniu i w pętli głównej programu to ZAWSZE musi być volatile<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 sty 2015, o 16:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2015-01-21T16:03:53+01:00</updated>
<published>2015-01-21T16:03:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115144#p115144</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115144#p115144"/>
<title type="html"><![CDATA[Pytanie o specyfikaor volatile]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10327&amp;p=115144#p115144"><![CDATA[
Witam, koledzy mam takie pytanie. Chcąc zwiększać zmienną w przerwaniu i używać potem tej zmiennej w funkcji main nalezy posłużyć się specyfikatoerm Volatile. A co jeśli zrobi się tak jak w poniższym kodzie tzn. w przerwaniu wywołam sobie funkcję a potem w funkcji użyję zwykłej zmiennej (bez volatile)?<br /><br />[syntax=c]void zwieksz(void);<br />uint8_t a=0;<br /><br />int main(void){<br /><br />TCCR1B |= (1&lt;&lt;WGM12);/* tryb CTC */<br />TCCR1B |= (1&lt;&lt;CS10)|(1&lt;&lt;CS12);/* preskaler = 1024 */<br />OCR1A = 156;/* dodatkowy podział przez 156 */<br />TIMSK |= (1 &lt;&lt; OCIE1A);                       /*zezwolenie na przerwanie*/<br />sei();                                                 /* włączamy globalne przerwania */<br /><br />while(1){<br />if(a&lt;100){}<br />else<br />{}<br /><br />};<br />}<br /><br />void zwieksz(void){<br />a++;<br />}<br /><br />ISR(TIMER1_COMPA_vect)<br />{<br />zwieksz();<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2511">Jarecki</a> — 21 sty 2015, o 16:03</p><hr />
]]></content>
</entry>
</feed>