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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-11-13T17:59:46+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=16807&amp;mode</id>
<entry>
<author><name><![CDATA[tomkowz]]></name></author>
<updated>2016-11-13T17:59:46+01:00</updated>
<published>2016-11-13T17:59:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16807&amp;p=174617#p174617</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16807&amp;p=174617#p174617"/>
<title type="html"><![CDATA[Re: Timer2, ustawianie częstotliwości 36Khz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16807&amp;p=174617#p174617"><![CDATA[
Atmega328p, właśnie zabieram się do czytania.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15475">tomkowz</a> — 13 lis 2016, o 17:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zorro]]></name></author>
<updated>2016-11-13T17:24:07+01:00</updated>
<published>2016-11-13T17:24:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16807&amp;p=174614#p174614</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16807&amp;p=174614#p174614"/>
<title type="html"><![CDATA[Re: Timer2, ustawianie częstotliwości 36Khz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16807&amp;p=174614#p174614"><![CDATA[
Witam.<br />Jaki to mikrokontroler ?<br />Sprawdź w Ds jakie są rejestry i do czego służą.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14587">zorro</a> — 13 lis 2016, o 17:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomkowz]]></name></author>
<updated>2016-11-13T16:15:08+01:00</updated>
<published>2016-11-13T16:15:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16807&amp;p=174612#p174612</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16807&amp;p=174612#p174612"/>
<title type="html"><![CDATA[Timer2, ustawianie częstotliwości 36Khz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16807&amp;p=174612#p174612"><![CDATA[
Cześć <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Zbudowałem układy na dwóch Uno, z czego pierwszy jest pilotem, a drugi odbiornikiem. Wykorzystuję jakąś diodę IR 940 i TSOP2236.<br />Wykorzystałem bibliotekę IRRemote, która jest całkiem popularna, ale chciałem nauczyć się kodowania RC-5 i napisać samemu prostą<br />bibiliotekę. I tak zrobiłem. Przeanalizowałem później bibliotekę i zrozumiałem wszystko prócz ustawień dotyczących Timer2.<br /><br />Mam w swojej bibliotece coś takiego dla nadajnika:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">// Initialize Timer2<br />TCCR2A = 0;<br />TCCR2B = 0;<br /><br />// Set mode 5, PWM phase correct mode, counts up and down<br />bitSet(TCCR2A, WGM20);<br />bitSet(TCCR2B, WGM22);<br /><br />// Set up 1 prescale<br />bitSet(TCCR2B, CS20);<br /><br />// Set frequency 36kHz<br />OCR2A = 222;<br />OCR2B = 74;<br /></div><br /><br />TCCR2A i TCCR2B to timer counter control register A i B, zawierają ustawienia dla timera.<br />Ustawiam więc wszystko na zero, a później ustawiam tryb PWM Phase Correct.<br /><br />Następnie ustawiam preskaler na 1 i OCR2A na 222, co daje mi:<br />16MHz / 1 / 222 / 2 (PWM Phase Correct) = 36 036, czyli 36kHz<br /><br />Nie rozumiem do czego służy OCR2B, ale bez tej wartości 74 to mi w ogóle nie działa.<br /><br />Nadajnik IR podłączony do pinu 3.<br /><br />Tak wygląda kod konfiguracji Timer2 na układzie odbierającym:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">// #defines<br />// MICROSECONDS_PER_TICK 50<br />// TIMER_CLOCK_CYCLES_LIMIT 16000000 * MICROSECONDS_PER_TICK / 1000000 // to wynosi 800<br /><br />TCCR2A = _BV(WGM21);<br />TCCR2B = _BV(CS21);<br />OCR2A = TIMER_CLOCK_CYCLES_LIMIT / 8; // to wynosi 100<br />TCNT2 = 0;<br /></div><br /><br />Czy możecie podpowiedzieć coś odnośnie tego OCR2B i dlaczego to musi być ustawione na 74?<br /><br />Z góry dzięki.<br /><br /><br />Zanim stworzyłem wątek przeczytałem również poniższe linki i wiele więcej, ale nadal nie rozumiem wszystkiego:<br /><a href="https://arduino-info.wikispaces.com/Timers-Arduino"  class="postlink">https://arduino-info.wikispaces.com/Timers-Arduino</a><br /><a href="https://maxembedded.wordpress.com/2011/06/28/avr-timers-timer1/"  class="postlink">https://maxembedded.wordpress.com/2011/06/28/avr-timers-timer1/</a><br /><a href="https://withinspecifications.30ohm.com/2014/02/20/Fast-PWM-on-AtMega328/"  class="postlink">https://withinspecifications.30ohm.com/2014/02/20/Fast-PWM-on-AtMega328/</a><br /><a href="https://sites.google.com/site/qeewiki/books/avr-guide/pwm-on-the-atmega328"  class="postlink">https://sites.google.com/site/qeewiki/books/avr-guide/pwm-on-the-atmega328</a><br /><a href="http://maxembedded.com/2011/08/avr-timers-pwm-mode-part-i/"  class="postlink">http://maxembedded.com/2011/08/avr-timers-pwm-mode-part-i/</a><br /><a href="http://forum.arduino.cc/index.php?topic=379240.0"  class="postlink">http://forum.arduino.cc/index.php?topic=379240.0</a><br /><a href="http://www.avrfreaks.net/forum/timer2-phase-correct-pwm-mode-atmega168"  class="postlink">http://www.avrfreaks.net/forum/timer2-phase-correct-pwm-mode-atmega168</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15475">tomkowz</a> — 13 lis 2016, o 16:15</p><hr />
]]></content>
</entry>
</feed>