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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-03-22T13:52:03+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=2618&amp;mode</id>
<entry>
<author><name><![CDATA[developer85]]></name></author>
<updated>2013-03-22T13:52:03+01:00</updated>
<published>2013-03-22T13:52:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31374#p31374</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31374#p31374"/>
<title type="html"><![CDATA[Re: Sterownie PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31374#p31374"><![CDATA[
dzięki:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=390">developer85</a> — 22 mar 2013, o 13:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-03-22T13:50:29+01:00</updated>
<published>2013-03-22T13:50:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31373#p31373</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31373#p31373"/>
<title type="html"><![CDATA[Re: Sterownie PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31373#p31373"><![CDATA[
No dokładnie jak pisze kolega beret82 wyżej <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> to ratuje życie i chroni przed stresami czyli dwuczłonowy operator<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 22 mar 2013, o 13:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[beret82]]></name></author>
<updated>2013-03-22T13:42:07+01:00</updated>
<published>2013-03-22T13:42:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31372#p31372</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31372#p31372"/>
<title type="html"><![CDATA[Re: Sterownie PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31372#p31372"><![CDATA[
W inicjacji timera 2 <br /><br />zamiast:<br /> <div class="codetitle"><b>Code:</b></div><div class="codecontent">TIMSK = (1&lt;&lt;OCIE2);</div><br /><br />powinno być:<br /> <div class="codetitle"><b>Code:</b></div><div class="codecontent">TIMSK |= (1&lt;&lt;OCIE2);</div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=733">beret82</a> — 22 mar 2013, o 13:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[developer85]]></name></author>
<updated>2013-03-22T13:34:19+01:00</updated>
<published>2013-03-22T13:34:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31371#p31371</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31371#p31371"/>
<title type="html"><![CDATA[Re: Sterownie PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31371#p31371"><![CDATA[
Ok to zrozumiałem. <br /><br />A jeszcze mam takie pytanie, ponieważ programowy pwm robię na timer0 i wszystko działa fajnie i chciałem dodać programowe timery żeby nie używać opasłej biblioteki delaya, i jakoś oba timery się pogodzić nie mogą, bo kiedy inicjalizuje timer2 w tedy przestaje działać także pierwszy.<br /><br />Czy tam to związek z rejestrem TIMSK, obydwa timery go używają jednocześnie?<br /><br />timer0<br />[syntax=c]<br />void timer0_init(void){<br /><br />TCCR0 |= (1&lt;&lt;WGM01);   //tryb CTC<br />TCCR0 |= (1&lt;&lt;CS00); //prescaler 1<br />OCR0 = 200;<br />TIMSK |= (1&lt;&lt;OCIE0);//odblokowania przerwania CompareMatch<br /><br />}<br />[/syntax]<br /><br />timer2<br />[syntax=c]<br />void timer2_init(void){<br /><br />TCCR2 |= (1&lt;&lt;WGM21);// tryb pracy CTC<br />TCCR2 |= (1&lt;&lt;CS22) |(1&lt;&lt;CS21) | (1&lt;&lt;CS20);  //prescaler 1024<br />OCR2 = 108; //przerwanie porównania co 10ms 100Hz<br />TIMSK = (1&lt;&lt;OCIE2); //odblokowania przerwania CompareMatch<br />}<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=390">developer85</a> — 22 mar 2013, o 13:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[k_mirek]]></name></author>
<updated>2013-03-22T13:01:04+01:00</updated>
<published>2013-03-22T13:01:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31369#p31369</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31369#p31369"/>
<title type="html"><![CDATA[Re: Sterownie PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31369#p31369"><![CDATA[
Timer0 pracuje jako sprzetowy PWM, natomiast Timer2 jako PWM programowy. OCR0 to nasz rejestr porównania o do niego wpisana jest wartosc przy z jakim wypełnieniem pracuje PWM sprzętowy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=499">k_mirek</a> — 22 mar 2013, o 13:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-03-22T12:56:37+01:00</updated>
<published>2013-03-22T12:56:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31367#p31367</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31367#p31367"/>
<title type="html"><![CDATA[Re: Sterownie PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31367#p31367"><![CDATA[
No przecież sam piszesz że sprzętowy PWM jest oparty o Timer0 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> a programowy jest zrealizowany na Timer2. <br /><br />Więc co dziwnego ? ---- OCR0 to rejestr porównania właśnie Timera0, który generuje ci przebieg sprzętowego PWM i dzięki zmianie OCR0 zmieniasz wypełnienie tego PWM'a<br /><br />zaś na Timer2 masz tryb CTC - tam tylko raz ustalasz częstotliwość, a wypełnieniem sterujesz za pomocą już zmiennych pwm1, pwm2 itp które pełnią rolę podobną jak sprzętowy rejestr OCR0 w Timer0 czyli w sprzętowym PWM'ie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 22 mar 2013, o 12:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[developer85]]></name></author>
<updated>2013-03-22T12:52:35+01:00</updated>
<published>2013-03-22T12:52:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31366#p31366</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31366#p31366"/>
<title type="html"><![CDATA[Sterownie PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2618&amp;p=31366#p31366"><![CDATA[
Witam!<br />Czytam rozdział o sterowaniu pwm diody RGB. I utknąłem w miejscu. W głównej funkcji main jest inicjalizacja timera0 i ustawienie go w fast PWM czyli na pinie PB3 mamy ładny przebieg - i to rozumiem. Dalej jest ustawienie kierunków pinów dla programowego pwm i ustawienie timera2 w tryb ctc - to też jest zrozumiałe. W obsłudze przertania ISR (TIMER2_COMP_vect) jest bezpośrednie sterowanie kanałami programowym pwm na 6 pinach - wszystko fajnie.<br /><br />A teraz dlaczego w głównej funkcji while w pętli for po każdym obiegu tejże pętli wartość zmiennej &quot;i&quot; jest ładowana do OCR0 timera0 zamiast timera2. Jakoś nie mogę tego pojąć.<br /><br />[syntax=c]<br />for(i = 0; i&lt;255; i++ ){<br />     OCR0=i;<br />     pwm1=i;<br />     pwm2=i;<br />     .<br />     . <br />     .<br />}<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=390">developer85</a> — 22 mar 2013, o 12:52</p><hr />
]]></content>
</entry>
</feed>