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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-03-11T12:25:36+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=2622&amp;mode</id>
<entry>
<author><name><![CDATA[dpenkowski]]></name></author>
<updated>2015-03-11T12:25:36+01:00</updated>
<published>2015-03-11T12:25:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=123082#p123082</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=123082#p123082"/>
<title type="html"><![CDATA[Re: Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=123082#p123082"><![CDATA[
Na początek zgodnie z instrukcjami Mirka w BB postanowiłem zapoznać się z trybem CTC, jak znajdę znów czas to zajmę się innymi trybami <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=4929">dpenkowski</a> — 11 mar 2015, o 12:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[HCOOH]]></name></author>
<updated>2015-03-10T23:55:03+01:00</updated>
<published>2015-03-10T23:55:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=123012#p123012</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=123012#p123012"/>
<title type="html"><![CDATA[Re: Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=123012#p123012"><![CDATA[
A ja z kolei polecam zapoznanie się z trybem OVF Timera0, bo czasem do prostych zastosowań warto takiego niezaopatrzonego w CTC tykacza zaprzęgnąć do czarnej roboty, a Timery1 i 2 trzymać na czarną godzinę <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=2954">HCOOH</a> — 10 mar 2015, o 23:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[dpenkowski]]></name></author>
<updated>2015-03-10T23:04:40+01:00</updated>
<published>2015-03-10T23:04:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=123007#p123007</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=123007#p123007"/>
<title type="html"><![CDATA[Re: Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=123007#p123007"><![CDATA[
Zasadę działania tego typu przerwania zrozumiałem z BB i poradników. Błąd głupszy niż mogłem sobie wyobrazić:<br /><br />Było:<br />[syntax=c]TCCR0 |= (1&lt;&lt;WGM01)|(1&lt;CS02)|(1&lt;&lt;CS00);[/syntax]<br /><br />Powinno:<br />[syntax=c]TCCR0 |= (1&lt;&lt;WGM01)|(1&lt;&lt;CS02)|(1&lt;&lt;CS00);[/syntax]<br /><br />W każdym bądź razie dziękuje <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=4929">dpenkowski</a> — 10 mar 2015, o 23:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[dpenkowski]]></name></author>
<updated>2015-03-10T22:23:11+01:00</updated>
<published>2015-03-10T22:23:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=122998#p122998</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=122998#p122998"/>
<title type="html"><![CDATA[Re: Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=122998#p122998"><![CDATA[
Dołączę się do tematu jako że nie warto zakładać nowego do takiego samego problemu.<br /><br />Tak więc: Jako że multipleksowanie wyświetlaczy 7-segmentowych jakoś mi się nie udaje to postanowiłem cofnąć się do prostego migania diodą LED za pomocą przerwań CTC w odstępie 1 sec (przybliżony czas)<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />#define led (1&lt;&lt;PC7)<br />#define led_tog PORTC ^= led<br /><br />volatile uint8_t licznik = 0;<br /><br /><br />int main(void)<br />{<br /><br />DDRC |= led;<br />PORTC |= led;<br /><br />TCCR0 |= (1&lt;&lt;WGM01);        //tryb CTC<br />TCCR0 |= (1&lt;CS02)|(1&lt;&lt;CS00);        //preskaler = 8M/1024 = 7812,5Hz<br />//czyli co 1/7812,5 sekundy (0,000128s) do rejestru będzie przekazywany sygnał<br />//który będzie odliczał do 38, czyli po 38*0,000128=0,00486s mamy przerwanie?<br />OCR0 = 38;<br />TIMSK |= (1&lt;&lt;OCIE0);//zezwolenie na przerwanie Compare Match<br /><br />sei();<br /><br />while(1)<br />{<br /><br />}<br /><br />}<br /><br />ISR(TIMER0_COMP_vect)<br />{<br /><br />licznik++;<br />if(licznik == 200)<br />{<br />led_tog;<br />licznik = 0;<br />}<br /><br />}[/syntax]<br /><br />BB już przekopany wraz z forum i blogiem ale błędu nie widzę. Z góry dziękuję za pomoc <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=4929">dpenkowski</a> — 10 mar 2015, o 22:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaczor]]></name></author>
<updated>2013-03-22T22:27:49+01:00</updated>
<published>2013-03-22T22:27:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31439#p31439</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31439#p31439"/>
<title type="html"><![CDATA[Re: Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31439#p31439"><![CDATA[
Wewnętrznym oscylatorem 1MHz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1076">kaczor</a> — 22 mar 2013, o 22:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[charsz]]></name></author>
<updated>2013-03-22T22:27:02+01:00</updated>
<published>2013-03-22T22:27:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31438#p31438</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31438#p31438"/>
<title type="html"><![CDATA[Re: Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31438#p31438"><![CDATA[
faktem autentycznym <img src="https://forum.atnel.pl/images/smilies/icon_e_confused.gif" alt=":?" title="Boi się" />  jest, ze zalozyciel watku napedza wewnetrzym oscylatorem 1Mhz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=926">charsz</a> — 22 mar 2013, o 22:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xamrex]]></name></author>
<updated>2013-03-22T21:41:06+01:00</updated>
<published>2013-03-22T21:41:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31429#p31429</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31429#p31429"/>
<title type="html"><![CDATA[Re: Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31429#p31429"><![CDATA[
Jakim kwarcem napędzasz procesor?<br />1sek to dosyć długi okres czasu..<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=74">xamrex</a> — 22 mar 2013, o 21:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaczor]]></name></author>
<updated>2013-03-22T20:33:54+01:00</updated>
<published>2013-03-22T20:33:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31423#p31423</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31423#p31423"/>
<title type="html"><![CDATA[Re: Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31423#p31423"><![CDATA[
Dzięki. Takiej odpowiedzi oczekiwałem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Jeżeli chodzi o Timer2, to patrz wyżej <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1076">kaczor</a> — 22 mar 2013, o 20:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaczor]]></name></author>
<updated>2013-03-22T17:53:06+01:00</updated>
<published>2013-03-22T17:53:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31407#p31407</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31407#p31407"/>
<title type="html"><![CDATA[Re: Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31407#p31407"><![CDATA[
Ok.<br />Pooglądałem notę, kilka zmian i wyszło coś takiego:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />int main(void)<br />{<br />DDRB |= (1&lt;&lt;PB1);<br />PORTB |= (1&lt;&lt;PB1);<br /><br /><br />TCCR2 |= (1&lt;&lt;WGM21);<br />TCCR2 |= (1&lt;&lt;CS20) | (1&lt;&lt;CS21) | (1&lt;&lt;CS22);<br />OCR2 = 244;<br />TIMSK |= (1&lt;&lt;OCIE2);<br />sei();<br /><br />while(1){}<br />}<br /><br />ISR(TIMER2_COMP_vect)<br />{<br />PORTB ^= (1&lt;&lt;PB1);<br />}[/syntax]<br />Działa. Dziękuję i pozdrawiam.<br /><br /><br /><br /><span style="color: #FF0000">Co ja pisałem w pierwszym poście?? Zielony J.</span><br />EDIT: Przepraszam. Poprawię.<br />Mam jeszcze jedno pytanie, czy w Timer0 istnieje możliwość ustawienia trybu CTC? Bo w nocie nie widzę za bardzo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1076">kaczor</a> — 22 mar 2013, o 17:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[charsz]]></name></author>
<updated>2013-03-22T16:40:49+01:00</updated>
<published>2013-03-22T16:40:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31401#p31401</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31401#p31401"/>
<title type="html"><![CDATA[Re: Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31401#p31401"><![CDATA[
To oprocz przejrzystosci niewiele zmieni, ja bym bardziej sie skupil na:<br />TIMSK |= (1&lt;&lt;OCIE1A) | (1&lt;&lt;OCIE1B);<br />i poczytal o rejestrze TIMSK w <a href="http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf"  class="postlink">dokumentacji</a>.<br />Dla podpowiedzi powiem ze OCIE1A i OCIE1B sa od timera1.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 10 minutach ]</span></strong><br /><br />Spojrzalem jeszcze raz, zastanow sie jeszcze nad komenda:<br />ISR(TIMER0_COMP_vect) {<br /><br /><br />Podsumowujac, inicjujesz timer 2 bitami z timera1 (to jeszcze nie jest az taki blad), nastepnie ustawiasz przerwania timera1, a kod obslugi przerwan piszesz dla timera0.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=926">charsz</a> — 22 mar 2013, o 16:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaczor]]></name></author>
<updated>2013-03-22T16:19:14+01:00</updated>
<published>2013-03-22T16:19:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31399#p31399</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31399#p31399"/>
<title type="html"><![CDATA[Re: Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31399#p31399"><![CDATA[
Czyli to:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">TCCR2 |= (1&lt;&lt;CS10) | (1&lt;&lt;CS12);</div><br />Mam zmienić na to:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent"> TCCR2 |= (1&lt;&lt;CS20) | (1&lt;&lt;CS22);</div> ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1076">kaczor</a> — 22 mar 2013, o 16:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[k_mirek]]></name></author>
<updated>2013-03-22T16:14:27+01:00</updated>
<published>2013-03-22T16:14:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31398#p31398</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31398#p31398"/>
<title type="html"><![CDATA[Re: Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31398#p31398"><![CDATA[
WGM21 a nie WGM12, TO SAMO: TCCR2 |= (1&lt;&lt;CS10) | (1&lt;&lt;CS12); i napisz jeszcze jakim zegarem to masz taktowane<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=499">k_mirek</a> — 22 mar 2013, o 16:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaczor]]></name></author>
<updated>2013-03-22T16:06:34+01:00</updated>
<published>2013-03-22T16:06:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31394#p31394</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31394#p31394"/>
<title type="html"><![CDATA[Przerwanie CTC miganie diodą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2622&amp;p=31394#p31394"><![CDATA[
Witam.<br />Męczę się z tym i nie mogę sobie poradzić. Chciałem migać diodą LED co 1 s, ale za pomocą przerwania CTC. Oto co napisałem: <br />[syntax=c]<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />int main(void)<br />{<br />DDRB |= (1&lt;&lt;PB1);<br />PORTB |= (1&lt;&lt;PB1);<br /><br /><br />TCCR2 |= (1&lt;&lt;WGM12);<br />TCCR2 |= (1&lt;&lt;CS10) | (1&lt;&lt;CS12);<br />OCR2 = 244;<br />TIMSK |= (1&lt;&lt;OCIE1A) | (1&lt;&lt;OCIE1B);<br />sei();<br /><br />while(1){}<br />}<br /><br />ISR(TIMER0_COMP_vect)<br />{<br />PORTB ^= (1&lt;&lt;PB1);<br />}<br /> [/syntax]<br /><br /><br />Kod nie działa. Chciałem się spytać co jest nie tak w tym kodzie. Dodam tylko, że jak na razie zakup książki jest dla mnie za dużym wydatkiem, a wszystkie informację biorę z internetu. Procek to Atmega8 taktowana wewnętrznym oscylatorem 1MHz.<br />Pozdrawiam.<br /><br /><br /><span style="color: #FF0000">Kod wstawiamy przy pomocy [syntax=c] - Zielony J.</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1076">kaczor</a> — 22 mar 2013, o 16:06</p><hr />
]]></content>
</entry>
</feed>