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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-02-22T19:04:03+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=17701&amp;mode</id>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2017-02-22T19:04:03+01:00</updated>
<published>2017-02-22T19:04:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183282#p183282</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183282#p183282"/>
<title type="html"><![CDATA[Re: Miodulo problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183282#p183282"><![CDATA[
<div class="quotetitle">kozaczi napisał(a):</div><div class="quotecontent"><br />...ale saport jest elegancki na forum <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /></div><br /><br />Bo to jest najlepsze forum <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=2511">Jarecki</a> — 22 lut 2017, o 19:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kozaczi]]></name></author>
<updated>2017-02-22T18:48:44+01:00</updated>
<published>2017-02-22T18:48:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183280#p183280</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183280#p183280"/>
<title type="html"><![CDATA[Re: Miodulo problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183280#p183280"><![CDATA[
Pajemajet.<br />Do wykonania kolejnego przerwania program toglował stan diody, a teraz raz zmieni stan i czeka aż przerwanie pozwoli na kolejne wejście w pętle <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Dzięki! Tak to jest jak robi się coś odświętnie, ale saport jest elegancki na forum <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1255">kozaczi</a> — 22 lut 2017, o 18:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2017-02-22T18:06:23+01:00</updated>
<published>2017-02-22T18:06:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183277#p183277</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183277#p183277"/>
<title type="html"><![CDATA[Re: Miodulo problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183277#p183277"><![CDATA[
próbowałeś analizować kod który CI podesłałem? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> W kodzie który pokazałeś problem jest taki, że przerwanie pojawia się powiedzmy co 1 sekundę i w czasie gdy:<br />[syntax=c]if(0 == (counter % 25)) LED_TOG;[/syntax]<br />w głównej pętli ten fragment wykonywany jest kilka set razy.... Dlatego dioda dziwnie się zachowuje <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Dodałem w Twoim kodzie zmienną zezwalającą, zezwolenie ustawiane jest przy każdym wejściu do przerwania. W pętli głównej gdy zezwolenie jest różne od 0 wchodzę do pierwszego warunku i od razu wyłączam zezwolenie na powtórne wejście. Następnie sprawdzane są kolejne dwa warunki i powrót do głównej pętli. przy kolejnym obiegu pętli już nie nastąpi wejście do żadnego warunku bo zezwolenie jest równe 0. Dopiero jak zostanie zgłoszone przerwanie wtedy ponownie wskakujemy do warunku... Rozumiesz czy jeszcze bardziej Ci namieszałem? <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=2511">Jarecki</a> — 22 lut 2017, o 18:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kozaczi]]></name></author>
<updated>2017-02-22T17:55:42+01:00</updated>
<published>2017-02-22T17:55:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183275#p183275</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183275#p183275"/>
<title type="html"><![CDATA[Re: Miodulo problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183275#p183275"><![CDATA[
Śmiga, ale kurza stopa co ta zmienna enable daje? <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=1255">kozaczi</a> — 22 lut 2017, o 17:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2017-02-22T16:21:27+01:00</updated>
<published>2017-02-22T16:21:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183270#p183270</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183270#p183270"/>
<title type="html"><![CDATA[Re: Miodulo problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183270#p183270"><![CDATA[
[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /> <br /> <br /> <br />#define LED_PIN1 (1&lt;&lt;PC6)                       // definicja pinu do którego podłączona jest dioda<br />#define LED_ON PORTC &amp;= ~LED_PIN1       // makrodefinicja – załączenie diody<br />#define LED_OFF PORTC |= LED_PIN1       // makrodefinicja – wyłączenie diody<br />#define LED_TOG PORTC ^= LED_PIN1       // makrodefinicja – zmiana stanu diody<br />volatile uint16_t counter=1;<br />volatile uint8_t enable=1; <br /> <br />uint8_t row=0; // liczba wierszy 50<br />uint8_t column=0;  //liczba column 50<br />uint8_t mod=50; // wypełnienie<br />uint8_t s1=0; // start dla pierwszego kanału<br />uint16_t f1=100;// finish dla pierwszego kanału<br /> <br />int main(void)<br />{<br />       <br /> <br />            DDRC |= LED_PIN1;<br /> <br />                // ustawienie TIMER0<br />                TCCR0 |= (1&lt;&lt;WGM01);                            // tryb CTC<br />                TCCR0 |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);           // preskaler = 1024<br />                OCR0 = 250;                                                     // dodatkowy podział przez 39 (rej. przepełnienia)<br />                TIMSK |= (1&lt;&lt;OCIE0);                            // zezwolenie na przerwanie CompareMatch<br />                sei();<br /> <br /> <br /> <br /> <br />while(1)<br />        {<br />               if(enable)<br />               {<br />                       enable = 0;<br /><br />                        if (counter==f1) counter=0;  //reset zapalania na potrzeby testów<br /> <br /> <br /> <br />                        if(0 == (counter % 25)) LED_TOG;  // co 25 przerwan ma zmienic stan diody<br />               }<br /><br /><br /> <br />         }<br /> <br />}<br /> <br />ISR(TIMER0_COMP_vect)<br />{<br />       enable=1;<br />        counter ++;<br />}[/syntax]<br /><br />Spróbuj tak<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2511">Jarecki</a> — 22 lut 2017, o 16:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kozaczi]]></name></author>
<updated>2017-02-22T16:09:12+01:00</updated>
<published>2017-02-22T16:09:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183269#p183269</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183269#p183269"/>
<title type="html"><![CDATA[Miodulo problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17701&amp;p=183269#p183269"><![CDATA[
Witam Was,<br />Po dłuższym czasie postanowiłem napisać program do sterownika oświetlenia led. Testuje sobie małe funkcje aby później zbudować z nich to co potrzebuję i pojawił się taki mały problem. Przykładowo co 25 cykli przerwania chcę zmienić stan diody używając kodu jak poniżej z wykorzystaniem funkcji % Dioda miga bardzo chaotyczni. Zastanawiam się z czym to ma związek, poradźcie proszę.<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br /><br />#define LED_PIN1 (1&lt;&lt;PC6)// definicja pinu do którego podłączona jest dioda<br />#define LED_ON PORTC &amp;= ~LED_PIN1// makrodefinicja – załączenie diody<br />#define LED_OFF PORTC |= LED_PIN1// makrodefinicja – wyłączenie diody<br />#define LED_TOG PORTC ^= LED_PIN1// makrodefinicja – zmiana stanu diody<br />volatile uint16_t counter=1;<br /><br /><br />uint8_t row=0; // liczba wierszy 50<br />uint8_t column=0;  //liczba column 50<br />uint8_t mod=50; // wypełnienie<br />uint8_t s1=0; // start dla pierwszego kanału<br />uint16_t f1=100;// finish dla pierwszego kanału<br /><br />int main(void)<br />{<br /><br /><br />    DDRC |= LED_PIN1;<br /><br />// ustawienie TIMER0<br />TCCR0 |= (1&lt;&lt;WGM01);// tryb CTC<br />TCCR0 |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);// preskaler = 1024<br />OCR0 = 250;// dodatkowy podział przez 39 (rej. przepełnienia)<br />TIMSK |= (1&lt;&lt;OCIE0);// zezwolenie na przerwanie CompareMatch<br />sei();<br /><br /><br /><br /><br />while(1)<br />{<br /><br />if (counter==f1) counter=0;  //reset zapalania na potrzeby testów<br /><br /><br /><br />if(0 == (counter % 25)) LED_TOG;  // co 25 przerwan ma zmienic stan diody<br /><br /> }<br /><br />}<br /><br />ISR(TIMER0_COMP_vect)<br />{<br />counter ++;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1255">kozaczi</a> — 22 lut 2017, o 16:09</p><hr />
]]></content>
</entry>
</feed>