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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-04-28T17:14:39+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1038&amp;mode</id>
<entry>
<author><name><![CDATA[Janadamis]]></name></author>
<updated>2012-04-28T17:14:39+01:00</updated>
<published>2012-04-28T17:14:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5938#p5938</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5938#p5938"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5938#p5938"><![CDATA[
Faktycznie trochę namieszałem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Ale udało się i mam nadzieję ze na następny raz nie popełnię tego błędu <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=288">Janadamis</a> — 28 kwi 2012, o 17:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-28T17:09:41+01:00</updated>
<published>2012-04-28T17:09:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5937#p5937</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5937#p5937"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5937#p5937"><![CDATA[
<div class="quotetitle">Janadamis napisał(a):</div><div class="quotecontent"><br />A co do timer1A i timer1B to właśnie chodziło mi o te rejestry TCCR1A i TCCR1B<br /></div><br /><br />No tak ale zobacz jak posługiwanie się nieprawidłowym nazewnictwem może prowadzić do zamieszania <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />cieszę się że w końcu poszło - a teraz na spokojnie będziesz mógł sobie powoli analizować pozostałe tryby pracy Timera1<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 kwi 2012, o 17:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Janadamis]]></name></author>
<updated>2012-04-28T17:01:09+01:00</updated>
<published>2012-04-28T17:01:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5935#p5935</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5935#p5935"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5935#p5935"><![CDATA[
OK dzięki <br />Wszystko zrozumiałem <br />A co do timer1A i timer1B to właśnie chodziło mi o te rejestry TCCR1A i TCCR1B<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=288">Janadamis</a> — 28 kwi 2012, o 17:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-28T16:57:44+01:00</updated>
<published>2012-04-28T16:57:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5934#p5934</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5934#p5934"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5934#p5934"><![CDATA[
No i w końcu program napisałeś dobrze ale jeśli chcesz się porozumiewać z innymi prawidłowo to niestety ale musisz też posługiwać się odpowiednimi terminami. No ja nie mogę zrozumieć co ci się kołacze po głowie że nadal piszesz te dziwne rzeczy jak: <br /><br />w <strong><span style="color: #FF0000"><em>timerze1A</em></span></strong> albo w <strong><span style="color: #FF0000"><em>timerze1B</em></span></strong><br /><br />że to niby jakieś dwie sekcje.<br /><br />Żadne dwie sekcje i żadne timery1a i 1b<br /><br />masz <strong><span style="color: #008000"><span style="font-size: 150%; line-height: normal">DWA REJESTRY </span></span></strong><br /><br /><strong><span style="color: #008000"><span style="font-size: 200%; line-height: normal">TCCR1A </span></span></strong>oraz <strong><span style="color: #008000"><span style="font-size: 200%; line-height: normal">TCCR1B </span></span></strong>do konfigurowania <strong><span style="font-size: 200%; line-height: normal">Timer1</span></strong><br /><br />i<strong> NIC POZA TYM</strong> - rozumiesz ?<br /><br />a że akurat ustawienie trybu CTC wymaga tylko i wyłącznie ustawienia bitów w TCCR1B to tyle - nie ma to nic wspólnego z jakimś timerem1B czy sekcją timera1.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 kwi 2012, o 16:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Janadamis]]></name></author>
<updated>2012-04-28T12:01:28+01:00</updated>
<published>2012-04-28T12:01:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5923#p5923</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5923#p5923"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5923#p5923"><![CDATA[
Trochę jaśniej <br />Czyli:<br />Tryb CTC ustawia się w timerze1B<br />Preskaler w timerze1B<br />Dodatkowy podział (OCR1A) w timerze1A<br />Zezwolenie na przerwanie w timerze1A<br />Przerwanie comparematch dla timer1A<br />Ten timer1A i timer1B to chodzi mi nie że są 2 timery tylko o sekcje w tym jednym timerze.<br />czyli jeśli powyżej jest prawda to załączanie timeru wyglądało by tak:<br />Dodałem funkcjie na przerwanie comparematch bo tam też się wybiera ten symbol itp.<br />[syntax=c] <br /> ////Timer 1                           // Timer 16-bitowy<br />    TCCR1B |= (1&lt;&lt;WGM12);   //Tryb CTC<br />    TCCR1B |= (1&lt;&lt;CS11)|(1&lt;&lt;CS10);       //Preskaler  =64<br />    OCR1A = 125;                          // dodatkowy podział częsttotliwości przez 125<br />    TIMSK |= (1&lt;&lt;OCIE1A);       // zezwolenie na przerwanie CompareMatch<br /><br /><br />// Ciało procedury obsługi przerwania Compare Match Timera 1<br />ISR( TIMER1_COMPA_vect )<br />{<br /> //Instrukcja do przerwania<br />}<br />[/syntax]<br /><br />Tak zrozumiałem z twojej wypowiedzi <br />Czy coś tu jest prawdą czy nadal jestem w błędzie?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=288">Janadamis</a> — 28 kwi 2012, o 12:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-28T11:24:33+01:00</updated>
<published>2012-04-28T11:24:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5919#p5919</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5919#p5919"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5919#p5919"><![CDATA[
<div class="quotetitle">Janadamis napisał(a):</div><div class="quotecontent"><br />Czyli musimy wykorzystać w tym celu timer1A bo inny timer się nie nadaje?.<br /></div><br /><br />No właśnie już tu popełniasz nadal ten sam błąd myślowy i dlatego wszystko ci się kotłuje <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Nie ma <strong><span style="color: #FF0000"><em>Timer1A</em></span></strong> albo <strong><span style="color: #FF0000"><em>Timer1B </em></span></strong>- pisałem ci o tym wyżej i musisz to zrozumieć, jest TYLKO<br /><br /><strong><span style="color: #008000"><span style="font-size: 200%; line-height: normal">Timer1</span></span></strong><br /><br />bo ty tworząc sobie w głowie timer1A zaraz wymyślasz że do niego są rejestry TCCR1A natomiast do twojego głowowego że tak go nazwę timera1B są rejestry TCCR1B ..... a to już niestety prowadzi cię w totalne maliny a nawet jeżyny <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />Jeszcze raz króciutko:<br /><br />Timer1 ma rejestry konfiguracyjne:<br /><br />TCCR1A oraz TCCR1B <br /><br />zaglądasz sobie pan do noty PDF i co tam widzisz ? no musisz czy chcesz czy nie chcesz patrzeć na te bity i ich opisy a poniżej tabelki. Zobacz sobie przecież że tryb pracy Timera (a tobie chodzi o CTC) ustawiasz za pomocą bitów o nazwach WGM1x ..... czy zwróciłeś uwagę że one znajdują się w obu tych rejestrach ???? Tak tak - WGM11 oraz WGM10 są w rejestrze TCCR1A natomiast WGM12 oraz WGM13 są w rejestrze TCCR1B. Skąd więc pomysł na jakieś rozgraniczanie Timera1 na dwa inne ????<br /><br />Więc zobacz - skoro chcesz wybrać TRYB 4 (CTC) to musisz ustawić na 1 bit WGM12 i to w rejestrze TCCR1B !!!<br /><br />natomiast później przechodzisz do preskalera - za niego ZAWSZE w każdym AVR odpowiedzialne są bity o nazwach CSxx - no i w którym rejestrze je widzisz ???? TCCR1A czy TCCR1B ???? A może w obu ??? jak wynika z twojego podziału na Timer1A i Timer1B ?????<br /><br />NIE! <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ...... bity CS12..CS10 masz TYLKO w rejestrze TCCR1B i tylko tam je ustawiasz dla całego Timera1 !!!! nie można ustawiać jakichś dwóch preskalerów dla dwóch twoich wymyślonych timerów w ramach timera1 bo tego nie ma <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Dlatego na początek dla uproszczenia przyjmij że jak chcesz działać z CTC z Timerem1 to korzystasz z przerwania CompareA oraz rejestru porównania OCR1A - i wyjdzie ci wszystko dokładnie tak jak robiłeś z timerami 8-bitowymi tylko że tu będziesz miał 16-bitowy licznik TCNT1<br /><br />teraz będzie jaśniej ? <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> — 28 kwi 2012, o 11:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wrangler]]></name></author>
<updated>2012-04-28T11:01:30+01:00</updated>
<published>2012-04-28T11:01:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5916#p5916</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5916#p5916"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5916#p5916"><![CDATA[
Zajrzyj na stronę 108, spójrz na rejestr..... <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Preskaler teraz ok, spójrz na te bity w jakim rejestrze timera1 się znajdują, a jaki masz wpisany?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=223">Wrangler</a> — 28 kwi 2012, o 11:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Janadamis]]></name></author>
<updated>2012-04-28T10:59:31+01:00</updated>
<published>2012-04-28T10:59:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5915#p5915</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5915#p5915"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5915#p5915"><![CDATA[
Aha chyba znalazłem ten błąd czy teraz jest dobrze? <br /><br />[syntax=c]<br />    ////Timer 1A                           // Timer 16-bitowy<br />    TCCR1A |= (1&lt;&lt;WGM12);   //Tryb CTC<br />    TCCR1A |= (1&lt;&lt;CS11)|(1&lt;&lt;CS10);       //Preskaler  =64<br />    OCR1A = 125;                          // dodatkowy podział częsttotliwości przez 125<br />    TIMSK |= (1&lt;&lt;OCIE1A);       // zezwolenie na przerwanie CompareMatch<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=288">Janadamis</a> — 28 kwi 2012, o 10:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wrangler]]></name></author>
<updated>2012-04-28T10:48:43+01:00</updated>
<published>2012-04-28T10:48:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5913#p5913</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5913#p5913"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5913#p5913"><![CDATA[
Jednak widzę błąd. Podpowiedź datasheet str. 108.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=223">Wrangler</a> — 28 kwi 2012, o 10:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-04-28T10:44:18+01:00</updated>
<published>2012-04-28T10:44:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5912#p5912</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5912#p5912"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5912#p5912"><![CDATA[
Na mój gust OK , ale to Mirek jest tu Guru  w &quot;C&quot; i on niechaj zatwierdzi<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 28 kwi 2012, o 10:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Janadamis]]></name></author>
<updated>2012-04-28T10:41:56+01:00</updated>
<published>2012-04-28T10:41:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5910#p5910</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5910#p5910"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5910#p5910"><![CDATA[
Ok ale na wszelki wypadek poczekam na Pana Mirka może coś dopowie <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=288">Janadamis</a> — 28 kwi 2012, o 10:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wrangler]]></name></author>
<updated>2012-04-28T10:29:28+01:00</updated>
<published>2012-04-28T10:29:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5908#p5908</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5908#p5908"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5908#p5908"><![CDATA[
Jest OK. <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=223">Wrangler</a> — 28 kwi 2012, o 10:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Janadamis]]></name></author>
<updated>2012-04-28T09:00:32+01:00</updated>
<published>2012-04-28T09:00:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5903#p5903</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5903#p5903"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5903#p5903"><![CDATA[
Aha<br />Sporo się dowiedziałem.<br />Timery 0-2 już w miarę ogarnąłem.<br />Mam takie pytanie:<br />Przypuśćmy że potrzebujemy przerwanie co 1ms gdy procesor jest taktowany z częstotliwością 8MHz<br />Czyli musimy wykorzystać w tym celu timer1A bo inny timer się nie nadaje?<br />Jaka musi wynosić częstotliwość tego by uzyskać 1ms? 1KHz ?<br />Nie mogę znaleźć w nocie pdf jakie rejestry odpowiadają za timer1A w tryb CTC <br />Na której to stronie może być?<br />Z tego co udało mi się zauważyć i wywnioskować to może tak:<br />[syntax=c]<br />////Timer 1A                           // Timer 16-bitowy<br />TCCR1A |= (1&lt;&lt;WGM12);   //Tryb CTC<br />TCCR1A |= (1&lt;&lt;CS12);       //Preskaler  =64<br />OCR1A = 125;                          // dodatkowy podział częsttotliwości przez 125<br />TIMSK |= (1&lt;&lt;OCIE1A);       // zezwolenie na przerwanie CompareMatch<br />[/syntax]<br /><br />Czy rejestry są dobre?<br />Co do częstotliwości to<br />8000000/64=125000   (wynik z preskalera)<br />125000/125 = 1000 (1KHz)  (dodatkowy podział przez 125 w ORC1A)<br />1s=1000ms<br />Czyli przerwanie co 1ms?<br />Czy ja to dobrze rozumuję ?Bo coś mi się wydaje że na innych timerach też by się to udało hmm...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=288">Janadamis</a> — 28 kwi 2012, o 09:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-27T21:22:37+01:00</updated>
<published>2012-04-27T21:22:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5888#p5888</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5888#p5888"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5888#p5888"><![CDATA[
<div class="quotetitle">xamrex napisał(a):</div><div class="quotecontent"><br />A jeśli ustawimy tryb na normal, to aby otrzymać wartość to musimy 'dodać' dwa rejestry?<br />uint16_t wynik=(TCNT1H&lt;&lt;8 + TCNT1L); ??<br /></div><br /><br />A dlaczego taka karkołomna operacja ? .... przecież wystarczy:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">uint16_t wynik = TCNT1;</div><br /><br />i to wsio <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 kwi 2012, o 21:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xamrex]]></name></author>
<updated>2012-04-27T20:24:41+01:00</updated>
<published>2012-04-27T20:24:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5884#p5884</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5884#p5884"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5884#p5884"><![CDATA[
A jeśli ustawimy tryb na normal, to aby otrzymać wartość to musimy 'dodać' dwa rejestry?<br />uint16_t wynik=(TCNT1H&lt;&lt;8 + TCNT1L); ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=74">xamrex</a> — 27 kwi 2012, o 20:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-27T19:26:56+01:00</updated>
<published>2012-04-27T19:26:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5883#p5883</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5883#p5883"/>
<title type="html"><![CDATA[Re: Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5883#p5883"><![CDATA[
Ja nie za bardzo jestem w stanie to wytłumaczyć odnosząc się do tych punktów bo bym się zakałapućkał. Od razu powiem ci gdzie robisz błędy myślowe - to może coś ci się wyjaśni.<br /><br />Timer1 - to TYLKO jeden Timer16 bitowy a nie jakieś tam dwa timery A czy B albo co gorsze że wymyślasz jeszcze jakiś 8-bitowy i 16-bitowy timer w timerze1 - to już niestety pomieszanie z poplątaniem<br /><br />Zatem dokładnie Timer1 działa IDENTYCZNIE jak Timer0 czy Timer2 czyli zlicza sprzętowo impulsy w swoim podstawowym rejestrze TCNTx. Sam się zastanów - jest to tak samo jak w timerach 8-bitowych czy nie ? Pewnie że jest<br /><br />tyle że sprzętowy licznik Timera1 zlicza aż 16-bitową wartość a zatem od 0 do 65535 i koniec<br /><br />Jak ustawić tryb CTC w Timerze1 ??? No IDENTYCZNIE jak w Timer0 czy Timer2 - wchodzisz na tabelkę trybów pracy i tam masz jak byk napisany tryb CTC. To znaczy są aż dwa tryby - CTC  mode 4 oraz mode 12 .... ale jak widzisz w każdym z nich zliczanie następuje poprzez porównanie do innego rejestru. W mode 4 kolumna TOP pokazuje ci że następuje zliczanie do wartości rejestru porównania właśnie OCR0A ...... I ten tryb niech cię na razie interesuje. Drugiego nie będę tłumaczył bo masz za mało podstaw i wszystko zaraz by ci się pokiełbasiło<br /><br />No więc skoro jest porównywanie do OCR1A to znaczy że po zaistnieniu równości zliczonych impulsów w sprzętowym liczniku timera1 - rejestrze TCNT1 - zrówna się on z wpisaną wcześniej przez ciebie wartością do OCR1A to nastąpi przerwanie CompareMatchA ..... właśnie od kanału A bo jest jeszcze kanał B - czyli masz rejestry porównania OCR1A oraz OCR1B<br /><br />w uproszczeniu OCR1A działa identycznie jak w przypadku OCRx dla timerów 8-bitowych .... I jak chcesz przerwania od porównania działającego analogicznie to wybieraj właśnie to przerwanie <br /><br />Można jeszcze wprowadzić drugie od rejestru OCR1B - ale wartość wpisana do niego nie może być większa niż ta wpisana do OCR1A albo do ICR1<br /><br />Zatem nie ma mowy o jakichś oddzielnych procedurach przerwania dla tych dwóch timerów rzekomych o jakich ty myślisz wewnątrz Timera1 - przecież idąc twoim tokiem to byśmy tu mieli bałaganik<br /><br />Jest jeden Timer1 - 16-bitowy ale ma dwa rejestry porównania i dzięki temu można generować dwa niezależne przerwania CompareA oraz CompareB w różnym czasie<br /><br />o to tu chodzi<br /><br />ale ja proponuję ci najpierw przeprowadzić więcej ćwiczeń na trybach pracy timerów 8-bitowych żeby zabrać się za analizę większej ilości trybów w Timerze1 - ponieważ brak zrozumienia tamtych - utrudnia ci zrozumienie tego - OK<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 kwi 2012, o 19:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Janadamis]]></name></author>
<updated>2012-04-27T17:28:47+01:00</updated>
<published>2012-04-27T17:28:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5880#p5880</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5880#p5880"/>
<title type="html"><![CDATA[Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1038&amp;p=5880#p5880"><![CDATA[
Witam<br />Mam taki kłopot bo nie do końca rozumie timery. Timer 0 i 2 w miarę ogarnąłem ale timer 1 niestety nie mogę.<br />Moje pytanie polega na tym że?<br />1.Timer1 składa się z timer1A timer1B ?<br />2.Timer który ma tryb 8bitów albo 16bitów. Czym się one różnią? Tym że w OCR możemy w trybie 8bitowym dawać wartości w zakresie 0-255 a w trybie 16bitowym to wartości w zakresie 0-65536?? <br />3.Jak uruchomić te timery w tryb CTC? <br />dla timer1B to coś takiego??<br />[syntax=c]<br />////Timer 1B                           // Timer 16-bitowy<br />TCCR1B |= (1&lt;&lt;WGM11);   //Tryb CTC<br />TCCR1B |= (1&lt;&lt;CS10);       //Preskaler  =1<br />OCR1B = 1;                          // dodatkowy podział częstotliwości przez 1<br />TIMSK |= (1&lt;&lt;OCIE1B);       // zezwolenie na przerwanie CompareMatch<br />[/syntax]<br />4.Przy takim ułożeniu uzyskamy częstotliwość 8MHz? jeśli procesor będzie miał ustawiony wewnętrzny kwarc 8MHz?<br />5.Jak uruchomić timer1A bo z tego co wiem to on ma inne rejestry?<br />6. O co w tym chodzi że są 2 timery timer1A i timer1B? czy można zrobić ze procedura obsługi przerwania Compare Match  będzie osobna dla tych timerów?<br />7.I jeszcze takie może głupie pytanie przypuśćmy że timer 2 będzie po ustawieniu odpowiedniej częstotliwości np.100Hz czyli że co? Że w sekundę zrobi 100razy jakąś funkcje która będzie w compare match?<br /><br />Proszę o o napisanie który z punktów dobrze rozumuję a który nie.<br />Oraz proszę o wyjaśnienie tych pytających punktów. Gdyż w książce co prawda jest dział o timerach ale jest ogólnie bo ustawienia timerów to kolejna książka by była <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />Proszę o pomoc<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=288">Janadamis</a> — 27 kwi 2012, o 17:28</p><hr />
]]></content>
</entry>
</feed>