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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-09-27T09:41:19+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=4280&amp;mode</id>
<entry>
<author><name><![CDATA[step_m]]></name></author>
<updated>2013-09-27T09:41:19+01:00</updated>
<published>2013-09-27T09:41:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=51064#p51064</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=51064#p51064"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=51064#p51064"><![CDATA[
Nie umieszczam funkcji w plikach .h tylko w plikach.c. W plikach .h umieszczam jedynie deklaracje tych funkcji. Po prostu nie próbowałem do tej pory umieszczać procedur obsługi przerwań w innych plikach projektu. Zawsze były one umieszczone w pliku głównym programu main.c (pod funkcją main). Mając jednakże na uwadze przejrzystość głównego pliku i funkcji programu, dla uporządkowania kodu (zwłaszcza w dużych projektach) chciałem umieścić te procedury poza plikiem main.c.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Tym małym wyjątkiem są prawdopodobnie funkcje &quot;inline&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1282">step_m</a> — 27 wrz 2013, o 09:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-09-27T09:35:33+01:00</updated>
<published>2013-09-27T09:35:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=51061#p51061</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=51061#p51061"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=51061#p51061"><![CDATA[
<div class="quotetitle">step_m napisał(a):</div><div class="quotecontent"><br />Witam wszystkich,<br /><br />Mam krótkie pytanie dotyczące ogólnie przerwań. Czy można procedury obsługi przerwań umieścić podobnie jak funkcje w innym pliku programu np pliku nagłówkowym *.h, czy procedury te muszą być raczej umieszczone w pliku main.c?<br /><br />Dzięki i pozdrawiam,<br /></div><br /><br />w pliku *.h ????<br /><br />a ty umieszczasz w ogóle funkcje w plikach *.h ? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> ..... to nie jest język C++ .... to jest C i WSZYSTKIE funkcje (poza jednym małym wyjątkiem) umieszcza się TYLKO w plikach źródłowych *.c<br /><br />a procedury obsługi przerwań podlegają tym samym zasadom i mogą być tak jak każda funkcja umieszczane w dowolnym pliku projektu<br /><br />zajrzyj proszę sobie do Bluebooka do rozdziału o multipleksowaniu LED i zobacz w jakim pliku projektu masz obsługę przerwania timera - przecież to od razu gotowa odpowiedź na twoje pytanie w tym rozdziale <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> — 27 wrz 2013, o 09:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[step_m]]></name></author>
<updated>2013-09-27T08:56:48+01:00</updated>
<published>2013-09-27T08:56:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=51054#p51054</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=51054#p51054"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=51054#p51054"><![CDATA[
Witam wszystkich,<br /><br />Mam krótkie pytanie dotyczące ogólnie przerwań. Czy można procedury obsługi przerwań umieścić podobnie jak funkcje w innym pliku programu np pliku nagłówkowym *.h, czy procedury te muszą być raczej umieszczone w pliku main.c?<br /><br />Dzięki i pozdrawiam,<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1282">step_m</a> — 27 wrz 2013, o 08:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Scs19]]></name></author>
<updated>2013-09-25T23:10:40+01:00</updated>
<published>2013-09-25T23:10:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50900#p50900</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50900#p50900"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50900#p50900"><![CDATA[
Wszystko gra i huczy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />. Jeszcze raz - dzieki !<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=990">Scs19</a> — 25 wrz 2013, o 23:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-09-25T21:57:40+01:00</updated>
<published>2013-09-25T21:57:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50886#p50886</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50886#p50886"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50886#p50886"><![CDATA[
W <a href="http://www.atnel.pl/mkavrcalculator.html"  class="postlink">MkAvrCalculator</a> w zakładce narzędzia masz AVR Timer Calculator. Na piechotę oczywiście też wyliczysz, OCRxy = F_CPU/prescaler/f -1 -&gt; OCR1A = 16000000/1024/1 -1 = 15624. Należy sprawdzić różne wartości prescalera (pośród dostępnych wybieranych za pomocą bitów CSxy) i wybrać wartość mieszczącą się w zakresie pojemności rejestru OCRxy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 25 wrz 2013, o 21:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Scs19]]></name></author>
<updated>2013-09-25T21:23:34+01:00</updated>
<published>2013-09-25T21:23:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50880#p50880</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50880#p50880"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50880#p50880"><![CDATA[
Kompletnie skołowaciałem..<br /><br />EDIT: Ruszyło <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />. Wielkie dzięki za pomoc i zainteresowanie.<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />#define LED1 (1&lt;&lt;PB2)<br /><br />int main(void){<br /><br />DDRB |= LED1;   // pin diody na wyjscie<br />PORTB |= LED1;<br /><br />/* TIMER 1 ustawiony w CTC */<br />TCCR1B |= (1&lt;&lt;WGM12);<br />TCCR1B |= (1&lt;&lt;CS12) | (1&lt;&lt;CS10); // preskaler na 1024<br />OCR1A  |= 1000;   // podzial przez<br />TIMSK  |= (1&lt;&lt;OCIE1B);  //zezowlenie<br />sei();<br /><br />while(1){}<br />}<br /><br />ISR(TIMER1_COMPB_vect){<br />PORTB ^= LED1;<br />}[/syntax]<br /><br />Poprawny kod.<br />Pytanie jeszcze odnośnie preskalera i OCRx. ATm8, kwarc zew. 16MHz. Jaki powinien być preskaler i OCRx żeby dioda świeciła co sekunde ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=990">Scs19</a> — 25 wrz 2013, o 21:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-09-25T19:00:46+01:00</updated>
<published>2013-09-25T19:00:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50826#p50826</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50826#p50826"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50826#p50826"><![CDATA[
<div class="quotetitle">Scs19 napisał(a):</div><div class="quotecontent"><br />OCR1B  |= 1000;                                  // podzial przez<br />TIMSK  |= (1&lt;&lt;OCIE1B);                   //zezowlenie<br /></div><br />Tryb CTC wykorzystuje rejestr OCR1A jako maksimum (do tego odpowiednie przerwanie). Zajrzyj w końcu do tej specyfikacji, bo widzę, że jak ktoś rzuci hasło <strong>B</strong> to wszystkie <strong>A</strong> zamieniają się w <strong>B</strong>, a tak nie jest. Nikt nie mówił, że wszystkie rejestry masz źle wybrane tylko, że dla Atmegi 8 bity WGM12 i CS1x są w rejestrze TCCR1B.<br /><br />OCR1B i odpowiednie przerwanie możesz dodatkowo wykorzystać, ale musi być spełniony warunek OCR1B &lt;= OCR1A.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 25 wrz 2013, o 19:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Scs19]]></name></author>
<updated>2013-09-25T18:40:04+01:00</updated>
<published>2013-09-25T18:40:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50820#p50820</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50820#p50820"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50820#p50820"><![CDATA[
Dalej coś nie mryga :&lt;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=990">Scs19</a> — 25 wrz 2013, o 18:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Scs19]]></name></author>
<updated>2013-09-25T08:41:53+01:00</updated>
<published>2013-09-25T08:41:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50735#p50735</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50735#p50735"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50735#p50735"><![CDATA[
No ok, to już rozumiem. Tyle, w TCCR1B (zmieniłem z TCCR1A na TCCR1B) są bity CS12, CS11, CS10 <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=990">Scs19</a> — 25 wrz 2013, o 08:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-09-25T08:32:51+01:00</updated>
<published>2013-09-25T08:32:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50734#p50734</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50734#p50734"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50734#p50734"><![CDATA[
<div class="quotetitle">Scs19 napisał(a):</div><div class="quotecontent"><br />@braney, a od czego jest bit CS1x ? W książce Mirka Kardasia, w temacie o multiplekasowym wyś. LED w przykładzie nie ma tego bitu<br /></div><br /><br />Kolego wiele razy w książce używam skrótów typu NZWA_BITU_x, czyli np. CSx<br /><br />toż to nie jest żaden konkretny fusebit, i wyjaśniam w książce, że np jak masz bity preskalera CS12 CS11 CS10 to Symbolicznie można powiedzieć, że chodzi o bity CS1x gdzie x oznacza 2,1,0 Albo jedynka oznacza że chodzi o Timer1. Ale gdy nie chce się używać numeru timera to używa się też skrótów CSXn gdzie np X to numer timera a n to numer bitu. Dlatego gdy barnej napisał ci<br /><br /><div class="quotetitle">barney napisał(a):</div><div class="quotecontent"><br />że TCCR1A nie zawiera bitów CS1x<br /></div><br /><br />to miał na myśli tylko to żebyś właśnie sprawdził sobie w nocie że w rejestrze TCCR1A nie ma bitów CS12, CS11, CS10<br /><br />ale po co tyle pisać skoro łatwiej używać skrótów: CS1x .... i tak się robi. Musisz to po prostu zrozumieć.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 25 wrz 2013, o 08:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Scs19]]></name></author>
<updated>2013-09-25T08:12:39+01:00</updated>
<published>2013-09-25T08:12:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50733#p50733</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50733#p50733"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50733#p50733"><![CDATA[
[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 LED1 (1&lt;&lt;PB2)<br /><br />int main(void){<br /><br />DDRB |= LED1;   // pin diody na wyjscie<br /><br />/* TIMER 1 ustawiony w CTC */<br />TCCR1B |= (1&lt;&lt;WGM12);<br />TCCR1B |= (1&lt;&lt;CS12) | (1&lt;&lt;CS10); // preskaler na 1024<br />OCR1B  |= 1000;   // podzial przez<br />TIMSK  |= (1&lt;&lt;OCIE1B);  //zezowlenie<br />sei();<br />/*********************/<br /><br />while(1){}<br />}<br /><br />ISR(TIMER1_COMPB_vect){<br />PORTB ^= LED1;<br />}[/syntax]<br /><br />Kod po poprawkach.<br />@braney, a od czego jest bit CS1x ? W książce Mirka Kardasia, w temacie o multiplekasowym wyś. LED w przykładzie nie ma tego bitu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=990">Scs19</a> — 25 wrz 2013, o 08:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barney]]></name></author>
<updated>2013-09-24T22:40:05+01:00</updated>
<published>2013-09-24T22:40:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50727#p50727</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50727#p50727"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50727#p50727"><![CDATA[
Prescaler i OCRx dobrane są prawidłowo, szkoda, że TCCR1A nie zawiera bitów CS1x <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=973">barney</a> — 24 wrz 2013, o 22:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Scs19]]></name></author>
<updated>2013-09-24T22:17:31+01:00</updated>
<published>2013-09-24T22:17:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50726#p50726</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50726#p50726"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50726#p50726"><![CDATA[
Dobra, coś tam zaczęło migać. Nie kumam jednak, dlaczego dioda zapali się i zgaśnie na amen. <br />Druga sprawa, to jestem ciekawy, jaki preskaler dobrać i jaki OCRx, żeby dioda świeciła faktycznie przez 1s.<br /><br />Procesor ATmega8, kwarc zewnętrzny 16MHz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=990">Scs19</a> — 24 wrz 2013, o 22:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barney]]></name></author>
<updated>2013-09-24T20:37:08+01:00</updated>
<published>2013-09-24T20:37:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50720#p50720</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50720#p50720"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50720#p50720"><![CDATA[
Ja to tam nie wiem jaki masz procesor, bo podać nie podałeś, ale taka M32 ma w specyfikacji zaraz pod tabelką trybów rozpiskę rejestru TCCR1B <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br /><a href="http://forum.atnel.pl/_obrazki/o/973/f577d11001e272e399a7cdd634246c33.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/973/f577d11001e272e399a7cdd634246c33.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=973">barney</a> — 24 wrz 2013, o 20:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2013-09-24T20:35:16+01:00</updated>
<published>2013-09-24T20:35:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50719#p50719</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50719#p50719"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50719#p50719"><![CDATA[
WGM12 jest w TCCR1B<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 24 wrz 2013, o 20:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Scs19]]></name></author>
<updated>2013-09-24T20:30:35+01:00</updated>
<published>2013-09-24T20:30:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50718#p50718</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50718#p50718"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50718#p50718"><![CDATA[
Przeszukałem note aplikacyjną i nie mogę znaleźć... Skoro TCCR1A  nie posiada WGM12, to jak ustawić Timer1 w CTC ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=990">Scs19</a> — 24 wrz 2013, o 20:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barney]]></name></author>
<updated>2013-09-24T20:17:23+01:00</updated>
<published>2013-09-24T20:17:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50715#p50715</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50715#p50715"/>
<title type="html"><![CDATA[Re: Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50715#p50715"><![CDATA[
TCCR1A nie posiada bitu o nazwie WGM12.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=973">barney</a> — 24 wrz 2013, o 20:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Scs19]]></name></author>
<updated>2013-09-24T22:19:19+01:00</updated>
<published>2013-09-24T20:13:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50714#p50714</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50714#p50714"/>
<title type="html"><![CDATA[Przerwanie CTC. Uparta dioda.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4280&amp;p=50714#p50714"><![CDATA[
Witam.<br />Znowu chciałem powrócić do programowania avr ze względu na sporą ilość wolnego czasu. Kiedy programowałem, przestałem i zapomniałem praktycznie wszystko. Może mi ktoś powiedzieć, dlaczego uparta dioda świeci non stop, a nie co sekunde jak to było w żałożeniu ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />ATmega8 , kwarc zew. 16 MHz<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 LED1 (1&lt;&lt;PB2)<br /><br />int main(void){<br /><br />DDRB |= LED1;   // pin diody na wyjscie<br />PORTB |= LED1; // dioda w stan wysoki (swieci)<br /><br />/* TIMER 1 ustawiony w CTC */<br />TCCR1A = (1&lt;&lt;WGM12);<br />TCCR1A |= (1&lt;&lt;CS12) | (1&lt;&lt;CS10);  // preskaler na 1024<br />OCR1A = 15625;  // podzial przez<br />TIMSK |= (1&lt;&lt;OCIE1A); //zezowlenie<br />sei();<br />/*********************/<br /><br />while(1){}<br />}<br /><br />ISR(TIMER1_COMPA_vect){<br />PORTB ^= LED1;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=990">Scs19</a> — 24 wrz 2013, o 20:13</p><hr />
]]></content>
</entry>
</feed>