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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-06-25T19:37:10+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=20902&amp;mode</id>
<entry>
<author><name><![CDATA[Bart92]]></name></author>
<updated>2018-06-25T19:37:10+01:00</updated>
<published>2018-06-25T19:37:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209319#p209319</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209319#p209319"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne na Atmega 328P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209319#p209319"><![CDATA[
Szybkość nie ma tu znaczenia. Ale dziękuję za poprawkę <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Problemem były trzaskające bez przerwy przerwania. Pomogła sugestia kolegi andrews. Temat do zamknięcia <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=19363">Bart92</a> — 25 cze 2018, o 19:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2018-06-23T16:00:58+01:00</updated>
<published>2018-06-23T16:00:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209230#p209230</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209230#p209230"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne na Atmega 328P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209230#p209230"><![CDATA[
witam,<br /><br /><div class="quotetitle">Bart92 napisał(a):</div><div class="quotecontent"><br /> <br />                if (enable == 1) {<br />                        if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)) {<br />                                rotation(1);<br />                                phase = 1;<br />                        }<br /> <br />                        if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 0)) {<br />                                rotation(2);<br />                                phase = 2;<br />                        }<br /> <br />                        if ((sensor1 == 1) &amp;&amp; (sensor2 == 1) &amp;&amp; (sensor3 == 0)) {<br />                                rotation(3);<br />                                phase = 3;<br />                        }<br /> <br />                        if ((sensor1 == 0) &amp;&amp; (sensor2 == 1) &amp;&amp; (sensor3 == 0)) {<br />                                rotation(4);<br />                                phase = 4;<br />                        }<br /> <br />                        if ((sensor1 == 0) &amp;&amp; (sensor2 == 1) &amp;&amp; (sensor3 == 1)) {<br />                                rotation(5);<br />                                phase = 5;<br />                        }<br /> <br />                        if ((sensor1 == 0) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)) {<br />                                rotation(0);<br />                                phase = 0;<br />                        }<br />                } else<br /></div><br />tak sobie pomyślałem czy nie szybciej by się wykonało gdyby zastosować coś w tę stronę.<br /><br />[syntax=c]if (enable == 1) {<br />uint8_t tablica_wzorcowa&#91;7&#93;= {0,2,4,3,0,1,5};<br />uint8_t sygnal = sensor1 | (sensor2 &lt;&lt; 1) | (sensor3 &lt;&lt; 2);<br /><br />rotation(tablica_wzorcowa&#91;sygnal&#93;);<br />phase = tablica_wzorcowa&#91;sygnal&#93;;<br />} else....[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 23 cze 2018, o 16:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bart92]]></name></author>
<updated>2018-06-23T00:38:09+01:00</updated>
<published>2018-06-23T00:38:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209212#p209212</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209212#p209212"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne na Atmega 328P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209212#p209212"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">Bart92 napisał(a):</div><div class="quotecontent">[syntax=c]while (1) {<br /><br />    // ...<br /><br />    if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)){<br />        PORTB ^= (1&lt;&lt;PB6);///speedo pulse<br />    }<br /><br />    // ...<br /><br />}[/syntax]<br /></div><br /><br />Rozumiem, że te 3 sensory dają 6 kombinacji na cykl. W związku z tym kombinacja <strong><em>101</em></strong> trwa przynajmniej 1/6 cyklu.<br />Ile razy pętla <strong><em>while</em></strong> zdąży zrobić obiegów, w czasie gdy powyższy warunek będzie spełniony?<br />Obawiam się, że impulsów będzie dużo więcej niż jeden na cykl, szczególnie przy niższych obrotach.<br /><br />Może lepiej byłoby np. jakoś tak:<br />[syntax=c]//<br />    if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)) {<br />        PORTB |= (1&lt;&lt;PB6);///speedo pulse<br />    }<br />    else {<br />        PORTB &amp;= ~(1&lt;&lt;PB6);<br />    }[/syntax]</div><br /><br /><br />Masz rację kolego. Polecę w tą stronę.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br /><div class="quotetitle">Daro69 napisał(a):</div><div class="quotecontent"><br />witam,<br />widzę mała kolizję w kodzie, może ma wpływ na działanie programu.<br /><div class="quotetitle">Bart92 napisał(a):</div><div class="quotecontent">                if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)){<br />                        PORTB ^= (1&lt;&lt;PB6);///speedo pulse<br />                }<br /> <br />                if (enable == 1) {<br />                        if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)) {<br />                                rotation(1);<br />                                phase = 1;<br />                        }<br /></div><br />czy może lepiej by było:<br />[syntax=c]if (enable == 1) {<br /> if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)){<br />   ...}<br />...}<br /><br />else {  // &lt;------<br /> if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)){<br /><br />                        PORTB ^= (1&lt;&lt;PB6);///speedo pulse<br />                }<br />}[/syntax]<br />bo przy obecnym kodzie, czy enable jest 1 czy nie, to pierwszy if jest spełniony dla odpowiednio ustawionych sensorów.<br />?<br />pozdrawiam.</div><br /><br />Tak powinno być, gdyż impulsy powinny być zliczane gdy silnik jest wyłączony, ale również wtedy kiedy jest włączony. Powinny być niezależne od &quot;enable&quot; które odpala silnik.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19363">Bart92</a> — 23 cze 2018, o 00:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2018-06-22T22:43:36+01:00</updated>
<published>2018-06-22T22:43:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209210#p209210</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209210#p209210"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne na Atmega 328P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209210#p209210"><![CDATA[
witam,<br />widzę mała kolizję w kodzie, może ma wpływ na działanie programu.<br /><div class="quotetitle">Bart92 napisał(a):</div><div class="quotecontent"><br />                if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)){<br />                        PORTB ^= (1&lt;&lt;PB6);///speedo pulse<br />                }<br /> <br />                if (enable == 1) {<br />                        if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)) {<br />                                rotation(1);<br />                                phase = 1;<br />                        }<br /></div><br />czy może lepiej by było:<br />[syntax=c]if (enable == 1) {<br /> if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)){<br />   ...}<br />...}<br /><br />else {  // &lt;------<br /> if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)){<br /><br />                        PORTB ^= (1&lt;&lt;PB6);///speedo pulse<br />                }<br />}[/syntax]<br />bo przy obecnym kodzie, czy enable jest 1 czy nie, to pierwszy if jest spełniony dla odpowiednio ustawionych sensorów.<br />?<br />pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 22 cze 2018, o 22:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-06-22T09:11:40+01:00</updated>
<published>2018-06-22T09:11:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209187#p209187</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209187#p209187"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne na Atmega 328P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209187#p209187"><![CDATA[
<div class="quotetitle">Bart92 napisał(a):</div><div class="quotecontent"><br />[syntax=c]while (1) {<br /><br />    // ...<br /><br />    if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)){<br />        PORTB ^= (1&lt;&lt;PB6);///speedo pulse<br />    }<br /><br />    // ...<br /><br />}[/syntax]<br /></div><br /><br />Rozumiem, że te 3 sensory dają 6 kombinacji na cykl. W związku z tym kombinacja <strong><em>101</em></strong> trwa przynajmniej 1/6 cyklu.<br />Ile razy pętla <strong><em>while</em></strong> zdąży zrobić obiegów, w czasie gdy powyższy warunek będzie spełniony?<br />Obawiam się, że impulsów będzie dużo więcej niż jeden na cykl, szczególnie przy niższych obrotach.<br /><br />Może lepiej byłoby np. jakoś tak:<br />[syntax=c]//<br />    if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)) {<br />        PORTB |= (1&lt;&lt;PB6);///speedo pulse<br />    }<br />    else {<br />        PORTB &amp;= ~(1&lt;&lt;PB6);<br />    }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 22 cze 2018, o 09:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bart92]]></name></author>
<updated>2018-06-22T00:26:39+01:00</updated>
<published>2018-06-22T00:26:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209178#p209178</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209178#p209178"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne na Atmega 328P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209178#p209178"><![CDATA[
Wartość przez którą dzielę impulsy wynika z typu silnika. Ten ma chyba ze 24 zęby i takich pełnych cykli sześciu komutacji podczas jednego obrotu wykonuje kilka, czy kilkanaście. Silnik ma bardzo niskie obroty, gdyż siedzi w piaście koła od roweru. Przenosi moment bezpośrednio na obręcz, bez żadnej przekładni.<br /><br />Przyjmijmy, że ta wartość dzielnika jest prawidłowa. Będę to jeszcze kalibrował z GPS, żeby pokazywało perfekt.<br />A póki co chcę osiągnąć chociaż jakąś zależność pomiędzy obrotami a wskazaniem <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /><br />Impuls przerwania generuje uC odpowiedzialny za komutacje. Wszelkie zakłócenia są odfiltrowane, nie ma o tym mowy. Kilkadziesiąt kondensatorów(w tym nie jeden byk elektrolit), diod i transili dba o to, żeby komputerki były stabilne. W dodatku są zasilane z dwupoziomowego zasilacza liniowego.<br /><br />Łapcie kawałek kodu z uC który robi silnik:<br /><br />[syntax=c]while (1) {<br />measurement();<br />power();<br /><br />if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)){<br />PORTB ^= (1&lt;&lt;PB6);///speedo pulse<br />}<br /><br />if (enable == 1) {<br />if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)) {<br />rotation(1);<br />phase = 1;<br />}<br /><br />if ((sensor1 == 1) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 0)) {<br />rotation(2);<br />phase = 2;<br />}<br /><br />if ((sensor1 == 1) &amp;&amp; (sensor2 == 1) &amp;&amp; (sensor3 == 0)) {<br />rotation(3);<br />phase = 3;<br />}<br /><br />if ((sensor1 == 0) &amp;&amp; (sensor2 == 1) &amp;&amp; (sensor3 == 0)) {<br />rotation(4);<br />phase = 4;<br />}<br /><br />if ((sensor1 == 0) &amp;&amp; (sensor2 == 1) &amp;&amp; (sensor3 == 1)) {<br />rotation(5);<br />phase = 5;<br />}<br /><br />if ((sensor1 == 0) &amp;&amp; (sensor2 == 0) &amp;&amp; (sensor3 == 1)) {<br />rotation(0);<br />phase = 0;<br />}<br />} else {<br />ALL_OFF<br />}[/syntax]<br /><br />Jak widzicie warunek wysłania impulsu jest taki sam, jak warunek pierwszej komutacji. Nie wrzuciłem go tam, ponieważ komutacje wykonują się tylko gdy jest sygnał z kontrolera, że ma przyspieszyć. Jeżeli zakręcimy przepustnicę, PWM nie ustawia się na 0, tylko całkowicie wyłącza. <br /><br />Aww. mówiąc prosto gdy impuls był w warunku komutacji, prędkościomierz działał tylko gdy był odkręcony gaz. W momencie zamknięcia przepusnicy pokazywał 0 mimo iż silnik się obracał.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19363">Bart92</a> — 22 cze 2018, o 00:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-06-21T20:35:01+01:00</updated>
<published>2018-06-21T20:35:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209174#p209174</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209174#p209174"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne na Atmega 328P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209174#p209174"><![CDATA[
<div class="quotetitle">RadekB86 napisał(a):</div><div class="quotecontent"><br />w 10 linijce Dzielisz przez 5.2 ? wiesz o tym że tak naprawdę dzielisz tylko przez 5 ?<br /></div><br />Obawiam się, że nie masz racji. Obliczenia będą wykonane na liczbach typu float, a wynik zostanie dopiero zaokrąglony do liczby całkowitej.<br /><br />Większym problemem może być czas potrzebny na takie obliczenia. Taka operacja może zająć kilkaset taktów zegara, co w procedurze obsługi przerwania może być niewskazane, bo np. w czasie obsługi przerwania od timera przerwania zewnętrzne są wyłączone, więc można zgubić impulsy (choć tu raczej wygląda, że jest ich za dużo). Wszystko tu zależy od tego, jaka jest maksymalna częstotliwość tych impulsów z silnika. Może to nie jest tutaj problemem, ale i tak dobrze byłoby skrócić czas obsługi przerwania np. tak:[syntax=c]speed = (rps * 10 + 26) / 52;[/syntax]<br />To powinno znacząco skrócić czas wykonania procedury obsługi przerwania (która zawsze powinna być jak najkrótsza), a wynik obliczeń będzie taki sam. W sumie nie bardzo widzę sensu stosowania dodatkowej zmiennej. Wystarczyłoby:[syntax=c]ISR(TIMER1_COMPA_vect)<br />{<br />    speed = (count * 10 + 26)/ 52;<br />    count=0;<br />}[/syntax]<br /><br />Generalnie w tym, co przedstawiłeś nie widzę raczej żadnego błędu, jeśli chodzi o logikę programu. Nie wiem, skąd wziąłeś tę wartość 5.2, ani jaki jest zakres obrotów silnika, więc nie wiem, czy obliczenia są prawidłowe. Na wszelki wypadek mógłbyś spróbować wyświetlić zamiast prędkości wartość zmiennej <strong><em>count</em></strong> i sprawdzić, czy zliczona ilość impulsów zgadza się z założeniami. Może masz problem sprzętowy np. jakieś zakłócenia od silnika powodują, że impulsów jest więcej niż oczekujesz? Jeśli masz możliwość, mógłbyś też sprawdzić te impulsy oscyloskopem.<br /><br />Najlepiej byłoby wydzielić minimum kodu niezbędnego tylko do samego pomiaru prędkości usuwając wszystkie inne zadania programu i sprawdzić, czy to działa. Jeśli nie, łatwiej będzie znaleźć błąd. Jeśli będzie działać, to będzie oznaczało, że problem leży w innym fragmencie kodu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 21 cze 2018, o 20:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RadekB86]]></name></author>
<updated>2018-06-21T18:40:38+01:00</updated>
<published>2018-06-21T18:40:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209172#p209172</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209172#p209172"/>
<title type="html"><![CDATA[Re: Przerwania zewnętrzne na Atmega 328P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209172#p209172"><![CDATA[
w 10 linijce Dzielisz przez 5.2 ? wiesz o tym że tak naprawdę dzielisz tylko przez 5 ? i nie powinno to być w nawiasie ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1837">RadekB86</a> — 21 cze 2018, o 18:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bart92]]></name></author>
<updated>2018-06-21T08:15:46+01:00</updated>
<published>2018-06-21T08:15:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209141#p209141</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209141#p209141"/>
<title type="html"><![CDATA[Przerwania zewnętrzne na Atmega 328P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20902&amp;p=209141#p209141"><![CDATA[
Witam!<br /><br />Zrobiłem sobie kontroler do silnika bezszczotkowego.<br /><br />Projekt jest oparty na dwóch układach atmega 328P, spiętych ze sobą. Jeden zajmuje się wyłącznie komutacjami silnika, drugi natomiast obsługuje pomiary, zabezpieczenia, wyświetlacz, manetkę gazu.<br /><br />Spięte są ze sobą 5 liniami, z czego 4 odpowiadają za przesyłanie sygnału o ustawionej mocy, natomiast 5 wysyła impulsy do przerwań prędkościomierza.<br /><br />uC od komutacji generuje zmianę stanu pinu co każdy cykl obrotu. im koło kręci się szybciej, tym gęściej zmienia stan pinu. I tutaj błędu ani filozofii nie ma.<br /><br />Problem jest natomiast z drugim uC, tym od wyświetlacza. Na nim są generowane przerwania zewnętrzne zliczające impulsy, oraz wewnętrzne, które te impulsy zerują i &quot;przesyłają&quot; dalej.<br /><br />Problem jest taki, że po ruszeniu silnikiem zawsze pokazuje podobną wartość(ok40kmh), nawet jak silnik ledwo się rusza. Jak się zatrzyma, poprawnie pokazuje 0.<br /><br />Gdzie jest błąd?<br /><br />[syntax=c]//speedometer<br />volatile unsigned int count = 0;<br />volatile unsigned int rps;<br />volatile unsigned int speed;[/syntax]<br /><br />[syntax=c]//speedometer<br /><br />EICRA |= (1&lt;&lt;ISC11); // falling edge on INT1<br />EIMSK |= (1&lt;&lt;INT1); //enable interrupts on INT1<br />TCCR1B |= (1&lt;&lt;WGM12); //CTC, OCR1A<br />TCCR1B |= (1&lt;&lt;CS12);//set prescaler for 1024<br />TCCR1B |= (1&lt;&lt;CS10);<br /><br />TIMSK1 |= (1&lt;&lt;OCIE1A);// ptaszek wi<br />sei();<br /><br />OCR1A= 7812;<br />DDRD &amp;= ~(1&lt;&lt;PD3);<br />PORTD |= (1&lt;&lt;PD3);[/syntax]<br /><br /><br />[syntax=c]ISR(INT1_vect)<br />{<br />   //CPU Jumps here automatically when INT0 pin detect a falling edge<br />   count++;<br />}<br /><br />ISR(TIMER1_COMPA_vect)<br />{<br />   //CPU Jumps here every 1 sec exactly!<br />   rps=count;<br />   speed = rps / 5.2;<br />   count=0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19363">Bart92</a> — 21 cze 2018, o 08:15</p><hr />
]]></content>
</entry>
</feed>