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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2019-11-30T09:09:47+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=22685&amp;mode</id>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2019-11-30T09:09:47+01:00</updated>
<published>2019-11-30T09:09:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223266#p223266</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223266#p223266"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223266#p223266"><![CDATA[
Dzięki za podpowiedzi. Zaraz zerknę na kalkulator, bo zupełnie o nim zapomniałem. Darku, Ty jak zawsze masz rację <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Dzięki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 30 lis 2019, o 09:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2019-11-30T00:56:44+01:00</updated>
<published>2019-11-30T00:56:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223261#p223261</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223261#p223261"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223261#p223261"><![CDATA[
<div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />co to jest? dziwne linki z dziwnymi gadżetami dla panów i pań? O co chodzi?<br /></div><br /><div class="quotetitle">micky napisał(a):</div><div class="quotecontent"><br />Chyba komuś się na konto włamali.<br /></div><br />Niestety  <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" /> <br />Sprawa już wyjaśniona, obyło się bez różowego paska na tyłku jakkolwiek dwuznacznie to brzmi, zwłaszcza patrząc na to co wyszło z mojego konta.<br /><br />Ze swojej strony mogę tylko przeprosić za zaistniałą sytuację i mieć nadzieje, że już nigdy do tego nie dojdzie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 30 lis 2019, o 00:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2019-11-29T20:24:53+01:00</updated>
<published>2019-11-29T20:24:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223253#p223253</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223253#p223253"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223253#p223253"><![CDATA[
Cześć Wojtek,<br />a przyjrzyj się ...<br />skoro przerwanie uruchamiasz 200 razy na sekundę,<br />a w przerwaniu zmieniasz TOG.. (na przeciwny),<br />to ile razy na sekundę &quot;mrygnie&quot; dioda?<br />no przecież że 100. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ale dwieście razy zmienia stan na przeciwny.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 29 lis 2019, o 20:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JarekB]]></name></author>
<updated>2019-11-29T19:01:04+01:00</updated>
<published>2019-11-29T19:01:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223251#p223251</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223251#p223251"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223251#p223251"><![CDATA[
Wgraj sobie MkAvrCalculator tam masz wygodny kalkulator timerów<br /><br /><a href="https://obrazkiforum.atnel.pl/18188/cdaaafacbd9b906e52110ac321ad06b2.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/18188/cdaaafacbd9b906e52110ac321ad06b2.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18188">JarekB</a> — 29 lis 2019, o 19:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2019-11-29T17:30:32+01:00</updated>
<published>2019-11-29T17:30:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223249#p223249</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223249#p223249"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223249#p223249"><![CDATA[
Poprawiłem kod. korzystając z BB ( tematu z multipleksowaniem).<br />[syntax=c]#define LED_PIN (1&lt;&lt;PA0)<br />#define LED_1_ON PORTA &amp;= ~LED_PIN<br />#define LED_1_OFF PORTA |= LED_PIN<br />#define LED_1_TOG PORTA ^= LED_PIN<br /><br />volatile uint8_t zmienna;<br /><br /><br /><br />int main(void){<br /><br />DDRA |= LED_PIN;<br /><br /><br /><br />//obliczenia preskalera. Częstotliwoś jaką wyliczyłem , to 200 Hz.<br />//11059200taktowanie procesora/1024preskaler/200Hz-1 = 53 -&gt;&gt; 200Hz<br />//255-53 = 202<br /><br /><br />//ustawienie timera2 Tryb normal<br />TCCR2 |= ((1&lt;&lt;CS22) | (1&lt;&lt;CS21) | (1&lt;&lt;CS20));// preskaler 1024<br />TCNT2 = 53;// po przepełnieniu się licznika, ustariamy licznik na wartosc 53<br />TIMSK |= (1&lt;&lt;TOIE2);// zezwolenie na przerwanie w trybie normal<br /><br />//======Procedura obsługi przerwania======<br /><br />LED_1_ON;<br />_delay_ms(100);<br />LED_1_OFF;<br />_delay_ms(100);<br />LED_1_ON;<br />_delay_ms(100);<br />LED_1_OFF;<br />_delay_ms(100);<br />LED_1_ON;<br />_delay_ms(100);<br />LED_1_OFF;<br /><br />sei();<br />while(1){<br /><br />zmienna=1;<br />}<br /><br />}<br />//===procedura przerwania Timer1========<br />ISR(TIMER2_OVF_vect)<br />{<br /><br />TCNT2 = 202;<br />if(zmienna==1){<br />LED_1_TOG;<br />}<br /><br />}[/syntax]<br />ustawiłem timer1 8bit<br />tryb zwykłego licznika<br />kwart 11059200Hz<br />Atmega32<br /><br />Po wgraniu kodu na oscyloskopie pojawiła mi się wartość przerwania idealnie równa 100Hz.<br />Dlaczego nie 200Hz skoro:<br />[syntax=c]//obliczenia preskalera. Częstotliwoś jaką wyliczyłem , to 200 Hz.<br />//11059200taktowanie procesora/1024preskaler/200Hz-1 = 53 -&gt;&gt; 200Hz<br />//255-53 = 202[/syntax]<br /><br />Niby dobrze uruchomiło się przerwanie, tylko dlaczego 100Hz, a nie 200Hz <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Czy pomyliłem gdzieś rejestry przy ustawianiu Timera, lub napisałem błędną nazwę przerwania?<br /><br />Ok, widzę,że pomyliłem się przy wyliczaniu wartości rejestru TCNT2 <br />Według mnie powinno być tak:<br />11059200/1024 preskaler/100Hz-1= 107. <br />wartość licznika zliczającego 255-104=148<br />Po wpisaniu tej wartości w rejestr TCNT2 w ustawieniach timera i po wpisaniu wartości 147 w przerwaniu, oscyloskop pokazuje mi przerwanie w częstotliwości 50Hz. Jednak nadal nie rozumiem dlaczego oscyloskop nie pokazuje mi w przerwaniu częstotliwości 100Hz:(<br />[syntax=c]//ustawienie timera2 Tryb normal<br />TCCR2 |= ((1&lt;&lt;CS22) | (1&lt;&lt;CS21) | (1&lt;&lt;CS20));// preskaler 1024<br />TCNT2 = 148;// po przepełnieniu się licznika, ustariamy licznik na wartosc 53<br />TIMSK |= (1&lt;&lt;TOIE2);// zezwolenie na przerwanie w trybie normal<br /><br />//======Procedura obsługi przerwania======<br /><br />LED_1_ON;<br />_delay_ms(100);<br />LED_1_OFF;<br />_delay_ms(100);<br />LED_1_ON;<br />_delay_ms(100);<br />LED_1_OFF;<br />_delay_ms(100);<br />LED_1_ON;<br />_delay_ms(100);<br />LED_1_OFF;<br /><br />sei();<br />while(1){<br /><br />zmienna=1;<br />}<br /><br />}<br />//===procedura przerwania Timer1========<br />ISR(TIMER2_OVF_vect)<br />{<br /><br />TCNT2 = 148;<br />if(zmienna==1){<br />LED_1_TOG;<br />}<br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 29 lis 2019, o 17:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2019-11-29T15:13:42+01:00</updated>
<published>2019-11-29T15:13:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223247#p223247</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223247#p223247"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223247#p223247"><![CDATA[
Chyba komuś się na konto włamali.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 29 lis 2019, o 15:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2019-11-29T15:09:08+01:00</updated>
<published>2019-11-29T15:09:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223246#p223246</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223246#p223246"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223246#p223246"><![CDATA[
co to jest? dziwne linki z dziwnymi gadżetami dla panów i pań? O co chodzi?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 29 lis 2019, o 15:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2019-11-29T14:39:42+01:00</updated>
<published>2019-11-29T14:39:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223241#p223241</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223241#p223241"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223241#p223241"><![CDATA[
no ok, tyko jak to policzyć?:) 11059200/1024/100? Czy tak to mam zrobić?<br />Jak robię podział 11059200/1024 =10800 i ta wartość według mnie już mnie dyskwalifikuje do kolejnego podziały, bo 8 bitów maksymalnie równa się 256. I co tu poradzić?:(<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 29 lis 2019, o 14:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2019-11-29T14:27:35+01:00</updated>
<published>2019-11-29T14:27:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223240#p223240</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223240#p223240"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223240#p223240"><![CDATA[
Dokładnie tak<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 29 lis 2019, o 14:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2019-11-29T13:54:33+01:00</updated>
<published>2019-11-29T13:54:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223238#p223238</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223238#p223238"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223238#p223238"><![CDATA[
ok dzięki.<br />A teraz mam kolejne pytanie. 16-sto bitowy timer można bez problemu ustawić tak, aby przerwanie wykonywało się dokładnie co sekundę, Ale co w przypadku gdy chcę użyć Timera 8 bitowego w trybie normal? Jeśli dzielę częstotliwość 11059200 przez preskalery, to zawsze mi wyjdzie wartość większa niż 255. I jak temu (kurza stopa) zaradzić? Czy mam ustawić Przerwanie , które się będzie wykonywać 100 razy na sekundę, a później w przerwaniu zliczać do sekundy?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 29 lis 2019, o 13:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2019-11-27T19:39:57+01:00</updated>
<published>2019-11-27T19:39:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223197#p223197</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223197#p223197"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223197#p223197"><![CDATA[
hejo Wojtek,<br />Coś w kierunku tak, jak kolega &quot;andrews' napisał.<br />spróbuj w pętli głównej wpisać: <br />raz <br />[syntax=c]TIMSK |= (1&lt;&lt;TOIE1);[/syntax]<br />potem<br />[syntax=c]TIMSK &amp;=~(1&lt;&lt;TOIE1);[/syntax]<br />...........................................<br />możesz wcześniej w defajnach wpisać <br />[syntax=c]define inter_on TIMSK |=(1&lt;&lt;TOIE1)<br />define inter_off TIMSK &amp;=~(1&lt;&lt;TOIE1)[/syntax]<br />a potem w głównej<br />[syntax=c]inner_on;[/syntax]<br />lub<br />[syntax=c]inner_off;[/syntax]<br />taka myśl, powinno wyłączać i włączać przerwanie.<br /> sprawdż. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />a w przerwaniu już tylko TOGLOWANIE.<br /><br />pozdro. <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=11549">Daro69</a> — 27 lis 2019, o 19:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2019-11-26T19:58:13+01:00</updated>
<published>2019-11-26T19:58:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223181#p223181</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223181#p223181"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223181#p223181"><![CDATA[
dziękuję za podpowiedź<br />[syntax=c]while(1){<br /><br />zmienna=1;<br />}<br /><br />}<br />//===procedura przerwania Timer1========<br />ISR(TIMER1_OVF_vect)<br />{<br /><br />TCNT1 = 22336;<br />if(zmienna==1){<br />LED_1_TOG;<br />}<br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 26 lis 2019, o 19:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JarekB]]></name></author>
<updated>2019-11-26T18:32:57+01:00</updated>
<published>2019-11-26T18:32:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223179#p223179</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223179#p223179"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223179#p223179"><![CDATA[
W pętli głównej. Rozbudowywanie kodu w przerwaniu &quot;może być przyczyną wielu groźnych chorób&quot;. A tak poważniej. Kod w przerwaniu powinien być jak najkrótszy. Aktualizacja jakiejś zmiennej, a później analiza jej w pętli głównej. Zobacz co się stanie jak w programie będzie więcej przerwań i kod każdego będzie rozbudowany.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18188">JarekB</a> — 26 lis 2019, o 18:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2019-11-26T16:55:23+01:00</updated>
<published>2019-11-26T16:55:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223176#p223176</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223176#p223176"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223176#p223176"><![CDATA[
Mam jeszcze pytanie. Założenie jest następujące:<br />Dioda mignie pięć razy i ma się włączyć buzer.<br />Czy ifa powinienem napisać w pętli głównej, czy w przerwaniu?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 26 lis 2019, o 16:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2019-11-25T20:00:03+01:00</updated>
<published>2019-11-25T20:00:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223164#p223164</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223164#p223164"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223164#p223164"><![CDATA[
Poprawiłem procedurę obsługi przerwania na taką formę i teraz dioda miga co sekundę <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />[syntax=c]//===procedura przerwania Timer1========<br />ISR(TIMER1_OVF_vect)<br />{<br />TCNT1 = 22336;<br />LED_1_TOG;<br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 25 lis 2019, o 20:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2019-11-25T18:52:19+01:00</updated>
<published>2019-11-25T18:52:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223162#p223162</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223162#p223162"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223162#p223162"><![CDATA[
dziękuję za podpowiedź. Wiem,że tryb CTC byłby lepszy. Ale  wykorzystałem tryb zwykłego licznika tylko i wyłącznie dla celów edukacyjnych. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Chcę przerobić wszystkie tryby i Timery,żeby opanować ten temat.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 27 minutach ]</span></strong><br /><br />dioda miga po delayach<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 48 minutach ]</span></strong><br /><br />Andrews dziękuję za wykrycie mojego błędu. Miło,że chciało Ci się zajrzeć do noty, faktycznie pomyliłem nazwę rejestrów<br />[syntax=c]TCCR1A |= (1&lt;&lt;CS12);    // preskaler 256[/syntax]<br />Ma być rejestr TCCR1B <br />Dioda już miga,  co prawda nie co sekundę, ale miga. Szukam dalej co źle zrobiłem,że nie miga co sekundę <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Dla mnie nie jest to jeszcze takie oczywiste <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 52 minutyach ]</span></strong><br /><br />Andrews dziękuję za wykrycie mojego błędu. Miło,że chciało Ci się zajrzeć do noty, faktycznie pomyliłem nazwę rejestrów<br />[syntax=c]TCCR1A |= (1&lt;&lt;CS12);    // preskaler 256[/syntax]<br />Ma być rejestr TCCR1B <br />Dioda już miga,  co prawda nie co sekundę, ale miga. Szukam dalej co źle zrobiłem,że nie miga co sekundę <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Dla mnie nie jest to jeszcze takie oczywiste <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=14082">wojciechgorzolka</a> — 25 lis 2019, o 18:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2019-11-25T18:10:09+01:00</updated>
<published>2019-11-25T18:10:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223161#p223161</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223161#p223161"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223161#p223161"><![CDATA[
<div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />i niestety dioda nie miga co sekundę.<br /></div><br />Nie napisałeś, czy w ogóle miga, kiedy używasz <em>_delay_ms()</em>.<br /><div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />[syntax=c]TCNT1 = 22336;    // po przepełnieniu się licznika, ustariamy licznik na wartosc 22336[/syntax]<br /></div><br />Po pierwsze zauważ, że robisz to tylko raz, a nie po każdym przepełnieniu licznika. W efekcie czas zliczania będzie około 1,5 razy dłuższy<br />Po drugie zdecydowanie lepiej użyć w takiej sytuacji trybu CTC.<br /><br />I co najważniejsze:<br /><div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />[syntax=c]TCCR1A |= (1&lt;&lt;CS12);    // preskaler 256[/syntax]<br /></div><br />Bit CS12 nie jest w rejestrze TCCR1A, tylko TCCR1B. Timer prawdopodobnie wcale się nie uruchamia <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />PS<br />Zmienna licznik w przerwaniu jest zbędna. Wystarczy odpowiednio skonfigurować timer i w przerwaniu tylko zmieniać stan wyjścia sterującego diodą.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 25 lis 2019, o 18:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jez2000]]></name></author>
<updated>2019-11-25T17:59:14+01:00</updated>
<published>2019-11-25T17:59:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223160#p223160</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223160#p223160"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223160#p223160"><![CDATA[
Nie masz za duzo tych srednikow ;? Przy #define masz jeden a pozniej dodajes kolejne przy kolejnym # define a nastepny dalej w kodzie.<br /><br />W przerwaniu od timera chyba powinienes aktualizowac wartosc poczatkowa licznika<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11828">jez2000</a> — 25 lis 2019, o 17:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2019-11-25T17:40:53+01:00</updated>
<published>2019-11-25T17:40:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223159#p223159</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223159#p223159"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223159#p223159"><![CDATA[
no ok, ale jak zrobię[syntax=c]if(licznik%2){<br /> LED_1_TOG;<br /> }[/syntax]<br /><br />to też nie włącza diody, a powinno przy parzystych liczbach. Przynajmniej tak mi się wydaje <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=14082">wojciechgorzolka</a> — 25 lis 2019, o 17:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Szofer]]></name></author>
<updated>2019-11-25T17:36:31+01:00</updated>
<published>2019-11-25T17:36:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223158#p223158</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223158#p223158"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223158#p223158"><![CDATA[
Nie działa bo zmienna liczy od 0 do 255 i dopiero jak się przekręcić będzie Led tog czyli za 255 sekund<br /><br />Zmień całość, timer masz ustawiony co sek (nie sprawdzalem czy dobrze) , jak<br />Wstawisz samo led tog to będziesz miał zmianę stanu co sek czyli 1s się świeci 1s nieswieci I tak wokoło.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7664">Szofer</a> — 25 lis 2019, o 17:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2019-11-25T17:33:36+01:00</updated>
<published>2019-11-25T17:33:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223157#p223157</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223157#p223157"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223157#p223157"><![CDATA[
no niestety tak też nie działa<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 25 lis 2019, o 17:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Szofer]]></name></author>
<updated>2019-11-25T17:31:26+01:00</updated>
<published>2019-11-25T17:31:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223156#p223156</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223156#p223156"/>
<title type="html"><![CDATA[Re: Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223156#p223156"><![CDATA[
if(licznik)<br /><br />Nie powinno być<br /><br />if( ! licznik)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7664">Szofer</a> — 25 lis 2019, o 17:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2019-11-25T17:26:01+01:00</updated>
<published>2019-11-25T17:26:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223155#p223155</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223155#p223155"/>
<title type="html"><![CDATA[Nie działające przerwanie- gdzie szukać przyczyny?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22685&amp;p=223155#p223155"><![CDATA[
Cześć. <br />Ostatnio miałem przerwę od &quot;kabelków&quot; (tak moja żona nazywa moją zabawę z zestawem ATB) i postanowiłem utrwalić sobie wyliczanie Timerów i obsługę przerwań.<br />Wybrałem sobie Timer1 w Atmedze32. Taktowanie 110592 zewnętrznym kwarcem.<br />Wybrałem przerwanie do tego timera (mam nadzieję,że poprawne) i niestety dioda nie miga co sekundę. Ustawiłem Timer1 w trybie Normal, czyli zwykłego licznika. <br />Czy widzicie gdzieś błąd w moim banalnym kodzie? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/eeprom.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />#define LED_PIN (1&lt;&lt;PA0);<br />#define LED_1_ON PORTA &amp;= ~LED_PIN;<br />#define LED_1_OFF PORTA |= LED_PIN;<br />#define LED_1_TOG PORTA ^= LED_PIN;<br /><br /><br /><br />int main(void){<br /><br />DDRA |= LED_PIN;<br /><br />//ustawienie timera1 Tryb normal<br />TCCR1A |= (1&lt;&lt;CS12);// preskaler 256<br />TCNT1 = 22336;// po przepełnieniu się licznika, ustariamy licznik na wartosc 22336<br />TIMSK |= (1&lt;&lt;TOIE1);// zezwolenie na przerwanie w trybie normal<br /><br />//======Procedura obsługi przerwania======<br /><br />LED_1_ON;<br />_delay_ms(100);<br />LED_1_OFF;<br />_delay_ms(100);<br />LED_1_ON;<br />_delay_ms(100);<br />LED_1_OFF;<br />_delay_ms(100);<br />LED_1_ON;<br />_delay_ms(100);<br />LED_1_OFF;<br /><br />sei();<br />while(1){<br /><br />}<br /><br />}<br />//===procedura przerwania Timer1========<br />ISR(TIMER1_OVF_vect)<br />{<br />static uint8_t licznik;<br />licznik++;<br /><br /> if(licznik){<br /> LED_1_TOG;<br /> }<br />}[/syntax]<br /><br />Bardzo proszę o pomoc <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Dodam,że wszystko testuję na zestawie ATB, żeby nie szukać problemów z połączeniami.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 25 lis 2019, o 17:26</p><hr />
]]></content>
</entry>
</feed>