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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-02-12T14:46:37+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=5959&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-12T14:46:37+01:00</updated>
<published>2014-02-12T14:46:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70117#p70117</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70117#p70117"/>
<title type="html"><![CDATA[Re: Komplator optymalizuje mi ważną funkcje]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70117#p70117"><![CDATA[
<div class="quotetitle">karolek napisał(a):</div><div class="quotecontent"><br />Durgny gcc zjada mi zawartosc funkcji czyli jak uciąc nogi nadgorliwemu kompilatorowi<br /></div><br /><br />Niestety tak jest zawsze gdy się szuka błędu wszędzie tylko nie u siebie .... więc jak widzisz kompilator nie jest durny i nie trzeba mu ucinać nóg a na pewno nie jest nadgorliwy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 lut 2014, o 14:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2014-02-12T12:57:26+01:00</updated>
<published>2014-02-12T12:57:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70097#p70097</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70097#p70097"/>
<title type="html"><![CDATA[Re: Komplator optymalizuje mi ważną funkcje]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70097#p70097"><![CDATA[
co do poprawy czytelności kodu to chyba właśnie o to chodzi co nie ? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />bo możesz również tak:<br /><br />[syntax=c]/*<br />                dolaczane inkludy<br />        */<br />         <br />        void initTimer(uint8_t ntimer, uint8_t ntryb); // tutaj jest zmiana<br />         <br />        int main(void)<br />        {<br />                // ---Konfiguracja przrwania INT0--------<br />                MCUCR |= (1&lt;&lt;ISC01) | (1&lt;&lt;ISC00); // zb. narastajace INT0<br />                GICR  |= (1&lt;&lt;INT0); // wlaczenie przerw. INT0<br />                //-----------------<br />         <br />                // --- wlaczenie timera --------------------<br />                initTimer(1,CTC); // tutaj jest zmiana<br />                // -----------------------------------------<br />         <br />                PORTD |= (1&lt;&lt;triger);<br />                DDRD &amp;= ~(1&lt;&lt;triger);<br />         <br />                sei();<br />                while(1)<br />                {<br />                }<br />        }<br />        ISR(INT0_vect) {}<br />         <br />        ISR(TIMER2_COMP_vect) // 1ms<br />        {<br />                /*<br />                        top secret<br />                */<br />        }<br /><br /><br />        void initTimer(uint8_t ntimer, uint8_t ntryb) // tutaj jest zmiana<br />        {<br />             if(ntimer == 1 &amp;&amp; ntryb == CTC){<br /><br />                TCCR2 |=  (1&lt;&lt;CS22); //(1 &lt;&lt; CS10) | (1 &lt;&lt; CS11);<br />                TCCR2 |= (1 &lt;&lt; WGM21);<br />                OCR2 = 124;<br />                TIMSK |= (1 &lt;&lt; OCIE2);<br /><br />             }else if(ntimer == 1 &amp;&amp; ntryb == PWM){<br /><br />              //do uzupelnienia<br /><br />             }else if(ntimer == 2 &amp;&amp; ntryb == CTC){<br /><br />              //do uzupelnienia<br /><br />             }else if(ntimer == 2 &amp;&amp; ntryb == PWM){<br /><br />              //do uzupelnienia<br /><br />             }<br />        }[/syntax]<br /><br />A więc dzieki void wiesz że nie przekazujesz zmiennych do funkcji a dzieki deklaracji wiesz że je przekazujesz <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />tak przygotowaną funkcję możesz przenieść do pliku zainkludować go i dzięki jednej funkcji włączać kilka timerów <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> z różnymi nastawami<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 12 lut 2014, o 12:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[karolek]]></name></author>
<updated>2014-02-12T12:17:23+01:00</updated>
<published>2014-02-12T12:17:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70088#p70088</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70088#p70088"/>
<title type="html"><![CDATA[Re: Komplator optymalizuje mi ważną funkcje]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70088#p70088"><![CDATA[
zwracam honor  wam wszystkim , ale chyba ja chyba non stop wywoływałem w ten sposób<br />void initTimer();<br /><br />i dziwne dla mnie bardzo ze kompilator nie protestował ? ze to bład skladniowy .?<br /><br />ale dzieki temu wiem ze w 'c' mozna zamiast komenentować fukncje wystarczy dac przed dnia void tudzież inny np int ...<br /><br />wiec majster nie ma potrzeby dawac (void) w deklaracji i definicji bo to tylko poprawia czytelnosc kodu ale nie wplywa na efekt wykonywania dane funckcji przynajmmniej w czystym c  .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2535">karolek</a> — 12 lut 2014, o 12:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2014-02-12T12:12:39+01:00</updated>
<published>2014-02-12T12:12:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70087#p70087</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70087#p70087"/>
<title type="html"><![CDATA[Re: Komplator optymalizuje mi ważną funkcje]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70087#p70087"><![CDATA[
<div class="quotetitle">karolek napisał(a):</div><div class="quotecontent"><br />pany ? kurnachatka , xor przeciez logiczne ze to bład skadniowy . Mozna sie domyslec ze to nie ten problem tylko zle wpisalem jak pisalem kod dla forum<br /></div><br /><br /><br />a widziałeś zmiany u mnie w deklaracji i definicji funkcji ??<br /><br />sprawdzałeś czy działa ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 12 lut 2014, o 12:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[karolek]]></name></author>
<updated>2014-02-12T12:07:43+01:00</updated>
<published>2014-02-12T12:07:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70086#p70086</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70086#p70086"/>
<title type="html"><![CDATA[Re: Komplator optymalizuje mi ważną funkcje]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70086#p70086"><![CDATA[
pany ? kurnachatka , xor przeciez logiczne ze to bład skadniowy . Mozna sie domyslec ze to nie ten problem tylko zle wpisalem jak pisalem kod dla forum<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2535">karolek</a> — 12 lut 2014, o 12:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2014-02-12T11:59:04+01:00</updated>
<published>2014-02-12T11:59:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70083#p70083</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70083#p70083"/>
<title type="html"><![CDATA[Re: Komplator optymalizuje mi ważną funkcje]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70083#p70083"><![CDATA[
No teraz widzę o co chodzi i polecam zapisanie funkcji w ten sposób.<br /><br />[syntax=c]/*<br />            dolaczane inkludy<br />    */<br />     <br />    void initTimer(void); // tutaj jest zmiana<br />     <br />    int main(void)<br />    {<br />            // ---Konfiguracja przrwania INT0--------<br />            MCUCR |= (1&lt;&lt;ISC01) | (1&lt;&lt;ISC00); // zb. narastajace INT0<br />            GICR  |= (1&lt;&lt;INT0); // wlaczenie przerw. INT0<br />            //-----------------<br />     <br />            // --- wlaczenie timera --------------------<br />            initTimer(); // tutaj jest zmiana<br />            // -----------------------------------------<br />     <br />            PORTD |= (1&lt;&lt;triger);<br />            DDRD &amp;= ~(1&lt;&lt;triger);<br />     <br />            sei();<br />            while(1)<br />            {<br />            }<br />    }<br />    ISR(INT0_vect) {}<br />     <br />    ISR(TIMER2_COMP_vect) // 1ms<br />    {<br />            /*<br />                    top secret<br />            */<br />    }<br />     void initTimer(void) // tutaj jest zmiana<br />    {<br />            TCCR2 |=  (1&lt;&lt;CS22); //(1 &lt;&lt; CS10) | (1 &lt;&lt; CS11);<br />            TCCR2 |= (1 &lt;&lt; WGM21);<br />            OCR2 = 124;<br />            TIMSK |= (1 &lt;&lt; OCIE2);<br />    }[/syntax]<br /><br /><br />I powinno śmigać <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=1628">majster</a> — 12 lut 2014, o 11:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xor]]></name></author>
<updated>2014-02-12T11:57:23+01:00</updated>
<published>2014-02-12T11:57:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70082#p70082</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70082#p70082"/>
<title type="html"><![CDATA[Re: Komplator optymalizuje mi ważną funkcje]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70082#p70082"><![CDATA[
Wyrzuć void sprzed funkcji w linii 15 (pierwszy listing).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1774">xor</a> — 12 lut 2014, o 11:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurnachatka]]></name></author>
<updated>2014-02-12T11:54:20+01:00</updated>
<published>2014-02-12T11:54:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70081#p70081</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70081#p70081"/>
<title type="html"><![CDATA[Re: Komplator optymalizuje mi ważną funkcje]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70081#p70081"><![CDATA[
Może to void jest niepotrzebne<br />[syntax=c]// --- wlaczenie timera --------------------<br />        void initTimer();<br />        // -----------------------------------------[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />Przy wywoływaniu funkcji oczywiście.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=930">kurnachatka</a> — 12 lut 2014, o 11:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[karolek]]></name></author>
<updated>2014-02-12T12:06:10+01:00</updated>
<published>2014-02-12T11:43:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70079#p70079</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70079#p70079"/>
<title type="html"><![CDATA[Komplator optymalizuje mi ważną funkcje]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5959&amp;p=70079#p70079"><![CDATA[
<ul><span style="font-size: 150%; line-height: normal">Durgny gcc zjada mi zawartosc funkcji czyli jak uciąc nogi nadgorliwemu kompilatorowi.</span></ul><br />Moj problem polega na tym ze kompilator jest nadgorliwy i wycina mi wszystko co umieszcze w funkcji initTimer();<br />jak mu powiedzieć ze ma tego nie robic ?<br />Jak inicjalizacje timera przeniose do main bezposrednio to wszystko dziala<br /><br /><ul><li>tak nie uruchamia sie timer</li></ul>[syntax=c]/*<br />dolaczane inkludy<br />*/<br /><br /> initTimer();<br /><br />int main(void)<br />{<br />// ---Konfiguracja przrwania INT0--------<br />MCUCR |= (1&lt;&lt;ISC01) | (1&lt;&lt;ISC00); // zb. narastajace INT0<br />GICR  |= (1&lt;&lt;INT0); // wlaczenie przerw. INT0<br />//-----------------<br /><br />// --- wlaczenie timera --------------------<br />void initTimer();<br />// -----------------------------------------<br /><br />PORTD |= (1&lt;&lt;triger);<br />DDRD &amp;= ~(1&lt;&lt;triger);<br /><br />sei();<br />while(1)<br />{<br />}<br />}<br />ISR(INT0_vect) {}<br /><br />ISR(TIMER2_COMP_vect) // 1ms<br />{<br />/* <br />top secret <br />*/<br />}<br /> void initTimer()<br />{<br />TCCR2 |=  (1&lt;&lt;CS22); //(1 &lt;&lt; CS10) | (1 &lt;&lt; CS11);<br />TCCR2 |= (1 &lt;&lt; WGM21);<br />OCR2 = 124;<br />TIMSK |= (1 &lt;&lt; OCIE2);<br />}[/syntax]<br /><br /><br /><ul><li>Tak jest ok</li></ul>[syntax=c]/*<br />dolaczane inkludy<br />*/<br /><br />void initTimer();<br /><br />int main(void)<br />{<br />// ---Konfiguracja przrwania INT0--------<br />MCUCR |= (1&lt;&lt;ISC01) | (1&lt;&lt;ISC00); // zb. narastajace INT0<br />GICR  |= (1&lt;&lt;INT0); // wlaczenie przerw. INT0<br />//-----------------<br /><br />// --- wlaczenie timera --------------------<br />TCCR2 |=  (1&lt;&lt;CS22); //(1 &lt;&lt; CS10) | (1 &lt;&lt; CS11);<br />TCCR2 |= (1 &lt;&lt; WGM21);<br />OCR2 = 124;<br />TIMSK |= (1 &lt;&lt; OCIE2);<br />// -----------------------------------------<br /><br />PORTD |= (1&lt;&lt;triger);<br />DDRD &amp;= ~(1&lt;&lt;triger);<br /><br />sei();<br />while(1)<br />{<br />}<br />}<br />ISR(INT0_vect) {}<br /><br />ISR(TIMER2_COMP_vect) // 1ms<br />{<br />/* <br />top secret <br />*/<br />}<br /> void initTimer()<br />{<br />TCCR2 |=  (1&lt;&lt;CS22); //(1 &lt;&lt; CS10) | (1 &lt;&lt; CS11);<br />TCCR2 |= (1 &lt;&lt; WGM21);<br />OCR2 = 124;<br />TIMSK |= (1 &lt;&lt; OCIE2);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2535">karolek</a> — 12 lut 2014, o 11:43</p><hr />
]]></content>
</entry>
</feed>