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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-03-07T23:10:50+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=839&amp;mode</id>
<entry>
<author><name><![CDATA[cocaine2012]]></name></author>
<updated>2014-03-07T23:10:50+01:00</updated>
<published>2014-03-07T23:10:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73380#p73380</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73380#p73380"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73380#p73380"><![CDATA[
Teraz już rozumiem , patrząc w notę nie dostrzegłem że dla kanału A i B Timera 1 ustawienie preskalera to rejestr TCCR1B a ustawienie Compare output modes dla obu kanałow to TCCR1A a ja szukałem innych magicznych rzeczy w nocie ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=265">cocaine2012</a> — 7 mar 2014, o 23:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-03-06T22:43:01+01:00</updated>
<published>2014-03-06T22:43:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73254#p73254</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73254#p73254"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73254#p73254"><![CDATA[
W nocie do Atmegi8 w rozdziale 16-bit Timer/Counter Register Description masz wszystkie rejestry dotyczące Timera1 i trybów jego pracy. Aby Timer1 pracował w trybie Fast Pwm z pwm-em na kanale A i B rejestry powinny być ustawione w ten sposób<br />[syntax=c]#include &lt;avr/io.h&gt;            <br />#include &lt;util/delay.h&gt;<br /><br /><br />int main(void)<br />{<br /><br />      DDRB |= (1&lt;&lt;PB1) | (1&lt;&lt;PB2);//OC1A i OC1B jako wyjścia<br />      // ustawienia TIMER1 w Fast PWM<br />      TCCR1A |= (1&lt;&lt;WGM10);<br />      TCCR1B |= (1&lt;&lt;WGM12); // tryb Fast PWM 8 bit<br /><br />      TCCR1A |= (1&lt;&lt;COM1A1);            <br />      TCCR1A |= (1&lt;&lt;COM1B1);<br /><br />      TCCR1B |= (1&lt;&lt;CS10);               // preskaler = 1<br /><br />      OCR1A = 255;                  <br />      OCR1B = 255;<br /><br />        while(1)<br />        {<br />        OCR1A++;<br />        OCR1B--;<br />        _delay_ms(10);<br />        }<br /><br />}[/syntax]<br />Porównaj sobie ustawienia timera z pdf-em to ci się trochę rozjaśni.<br />W twoim przykładzie ewidentnie pomieszałeś rejestry.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 6 mar 2014, o 22:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[cocaine2012]]></name></author>
<updated>2014-03-06T19:55:03+01:00</updated>
<published>2014-03-06T19:55:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73220#p73220</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73220#p73220"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73220#p73220"><![CDATA[
Pytanie na pytanie , tak zajrzałem do noty (której niestety nie do końca rozumiem) i jak większość początkujących &quot;nie chce zjeść na tym zębów&quot; Myślałem że to tak działa TCCR1A , TCR1B zajrzałem jeszcze raz do noty  . Nie wiem gdzie jest błąd , jakaś mała podpowiedź ? Gdzie szukać odpowiedzi ? Na której stronie ? <br /><br />pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=265">cocaine2012</a> — 6 mar 2014, o 19:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-03-05T03:50:41+01:00</updated>
<published>2014-03-05T03:50:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73058#p73058</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73058#p73058"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73058#p73058"><![CDATA[
sprawdzałeś w nocie PDF w jakich rejestrach są te bity?<br /><br />[syntax=c]TCCR1A |= (1&lt;&lt;COM1A1)|(0&lt;&lt;COM1A0);            // clear at TOP<br />      TCCR1A |= (0&lt;&lt;CS12)|(0&lt;&lt;CS11)|(1&lt;&lt;CS10);               // preskaler = 1[/syntax]<br /><br />czy tak jak wielu początkującym wydaje ci się że kanał A to rejestr TCCR1A natomiast kanał B to TCCR1B ??? bo na tym wielu zjada zęby zamiast zajrzeć do noty<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 5 mar 2014, o 03:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[cocaine2012]]></name></author>
<updated>2014-03-05T00:07:14+01:00</updated>
<published>2014-03-05T00:07:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73052#p73052</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73052#p73052"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=73052#p73052"><![CDATA[
Tak zgodzę się , wpisałem tak żeby łatwiej było mi zmieniać w programie preskaler na różne wartości . <br /><br />Chce jeszcze odpalić Timer 1 kanał A i B ten program coś nie działa nie mogę wyłapać błędu .<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">// SPRZĘTOWY PWM - 1 KANAŁ OC1B (PB2) 8 bit , ATMEGA 8  8 000 000 <br /><br />      // ustawienie końcówki OC1B (PB2) sprzętowy PWM jako WYJŚCIE<br />      DDRB |= (1&lt;&lt;PB1);<br />      // ustawienia TIMER1 w Fast PWM<br />      TCCR1A |= (0&lt;&lt;WGM11)|(1&lt;&lt;WGM10);      // tryb Fast PWM 8 bit <br />      TCCR1A |= (1&lt;&lt;COM1A1)|(0&lt;&lt;COM1A0);            // clear at TOP<br />      TCCR1A |= (0&lt;&lt;CS12)|(0&lt;&lt;CS11)|(1&lt;&lt;CS10);               // preskaler = 1<br /><br />      OCR1A = 255 ;                  // wygaszenie diody w kanale PWM<br /></div><br /><br />Wydaje mi się że wg datasheet jest wszystko dobrze ustawione a dioda się tylko świeci stale .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=265">cocaine2012</a> — 5 mar 2014, o 00:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-03-04T06:19:02+01:00</updated>
<published>2014-03-04T06:19:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=72965#p72965</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=72965#p72965"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=72965#p72965"><![CDATA[
<div class="quotetitle">cocaine2012 napisał(a):</div><div class="quotecontent"><br />TCCR2 |= (0&lt;&lt;CS22)|(0&lt;&lt;CS21)|(1&lt;&lt;CS20);               // preskaler = 1<br /></div><br /><br />kolego ta linia jest niestety bez sensu dlatego że takie operacje przesunięć bitowych<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />(<strong><span style="color: #FF0000">0</span></strong>&lt;&lt;CSx)<br /></div><br /><br />nie mają sensu - zastanów się .... zero po lewej stronie nie spowoduje ustawienie zera gdy wcześniej była tam jedynka. A to że w tym przypadku wydaje ci się że to działa - to TYLKO za sprawą tego - że po resecie procka wszystkie bity CS są = 0. W efekcie końcowym zadziała tylko to z tego twojego kodu:<br /><br />[syntax=c]TCCR2 |= (1&lt;&lt;CS20);[/syntax]<br /><br />i tak należy napisać żeby móc powiedzieć że ustawiasz preskaler = 1<br /><br />teraz jaśniej ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 4 mar 2014, o 06:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[cocaine2012]]></name></author>
<updated>2014-03-04T00:53:07+01:00</updated>
<published>2014-03-04T00:53:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=72962#p72962</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=72962#p72962"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=72962#p72962"><![CDATA[
Miałem chwile czasu , wklejam fragment kodu (reszta w książce) ustawienia Timera 2 dla Atmega 8 zewnętrzny kwarc 8 000 000 <br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">// SPRZĘTOWY PWM - 1 KANAŁ OC2 (PB3) ATMEGA 8<br />      // ustawienie końcówki OC2 (PB3) sprzętowy PWM jako WYJŚCIE<br />      DDRB |= (1&lt;&lt;PB3);<br />      // ustawienia TIMER2 w Fast PWM<br />      TCCR2 |= (1&lt;&lt;WGM21)|(1&lt;&lt;WGM20);      // tryb Fast PWM<br />      TCCR2 |= (1&lt;&lt;COM21)|(1&lt;&lt;COM20);            // clear at TOP<br />      TCCR2 |= (0&lt;&lt;CS22)|(0&lt;&lt;CS21)|(1&lt;&lt;CS20);               // preskaler = 1<br /><br />      OCR2=255;                     // wygaszenie diody w kanale PWM</div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=265">cocaine2012</a> — 4 mar 2014, o 00:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[cocaine2012]]></name></author>
<updated>2014-01-07T22:07:24+01:00</updated>
<published>2014-01-07T22:07:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=64223#p64223</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=64223#p64223"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=64223#p64223"><![CDATA[
Dawid90 czy mógłbyś umieścić poprawiony kod na forum ?<br /><br />pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=265">cocaine2012</a> — 7 sty 2014, o 22:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tkpoum]]></name></author>
<updated>2012-03-05T11:56:22+01:00</updated>
<published>2012-03-05T11:56:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=3880#p3880</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=3880#p3880"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=3880#p3880"><![CDATA[
Faktycznie, ale głupotę zrobiłem. Nic dziwnego, że nie miało prawa działać <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br />Już jest ok, dzięki wielkie <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=240">tkpoum</a> — 5 mar 2012, o 11:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-03-05T11:42:41+01:00</updated>
<published>2012-03-05T11:42:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=3879#p3879</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=3879#p3879"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=3879#p3879"><![CDATA[
Po pierwsze to jak można ustawiać kierunek dwóch różnych pinów należących do dwóch różnych portów poprzez jeden rejestr ???? hmmm???<br /><br />DDR<strong><span style="color: #008000">B</span></strong> |= (1&lt;&lt;<strong><span style="color: #FF0000">PD7</span></strong>) | (1&lt;&lt;<span style="color: #008000"><strong>PB3</strong></span>);<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 5 mar 2012, o 11:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tkpoum]]></name></author>
<updated>2012-03-05T10:09:31+01:00</updated>
<published>2012-03-05T10:09:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=3878#p3878</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=3878#p3878"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=3878#p3878"><![CDATA[
Hej.<br />Żeby nie zakładać nowego wątku podpinam się pod ten.<br />Bawię się w sprzętowe PWM (atmega 32). Z tego co rozumiem, dla OC0 jest pin PB3, dla OC2 jest PD7. Napisałem najprostszy program, gdzie ustawiłem szerokość impulsu OCR0=15 -&gt;działa ok. Natomiast gdy chcę użyć OC2, dioda od PB3 świeci mi pełną jasnością (mimo, że ją zakomentowałem-&gt;dlaczego?), a nie świeci mi w ogóle dioda podłączona do pinu PD7.<br />Co robię nie tak? Zamieszczam kod:<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 />int main(void)<br />{<br />DDRB|=(1&lt;&lt;PD7)|(1&lt;&lt;PB3);//wyjście<br /><br />TCCR2|=(1&lt;&lt;WGM21)|(1&lt;&lt;WGM20);//fast PWM<br />TCCR2|=(1&lt;&lt;COM21)|(1&lt;&lt;COM20);//Set OC2 on compare match, clear OC2 at TOP<br />TCCR2|=(1&lt;&lt;CS20); //preskaler=1<br />OCR2=20;<br /><br />/*<br />TCCR0|=(1&lt;&lt;WGM01)|(1&lt;&lt;WGM00);//fast PWM<br />TCCR0|=(1&lt;&lt;COM01)|(1&lt;&lt;COM00);//Set OC0 on compare match, clear OC0 at TOP<br />TCCR0|=(1&lt;&lt;CS00);//preskaler=1<br />OCR0=15;<br />*/<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=240">tkpoum</a> — 5 mar 2012, o 10:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-12T21:46:18+01:00</updated>
<published>2012-02-12T21:46:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2856#p2856</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2856#p2856"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2856#p2856"><![CDATA[
No tak skoro 9-bit to taki właśnie zakres 512 <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> — 12 lut 2012, o 21:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Dawid90]]></name></author>
<updated>2012-02-12T20:59:01+01:00</updated>
<published>2012-02-12T20:59:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2846#p2846</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2846#p2846"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2846#p2846"><![CDATA[
Wszystko stało się jasne. Dziękuje bardzo za uwagę <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Następnym razem będę bardziej kierował się tym co napisane jest w dokumentacji, a nie swoją myślą &quot;a może się uda&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />To jeszcze chciałbym się jednego upewnić. Chodzi o programowy PWM. A dokładniej o 9 bitową rozdzielczość. Rozumiem więc że przykładowa zmienna do sterowania pwm o nazwie np pwm1 może otrzymywać wartości od 0 do 511 która będzie porównywana z licznikiem PWM?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=203">Dawid90</a> — 12 lut 2012, o 20:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-12T01:21:03+01:00</updated>
<published>2012-02-12T01:21:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2799#p2799</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2799#p2799"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2799#p2799"><![CDATA[
Ok powtarzasz błąd, który już był opisywany na forum zdaje się. <br /><br />Po pierwsze w ogóle nie zajrzałeś do noty PDF do rejestrów Timera1 żeby:<br /><br />1. wybrać tryb Fast PWM (Mode 5) -  <img src="https://forum.atnel.pl/images/smilies/icon_idea.gif" alt=":idea:" title="Pomysł" /> <strong><span style="color: #008000">podpowiedź: </span></strong>bity <strong>WGM12 </strong>i <strong>WGM10 </strong>są w różnych rejestrach i dotyczą panie kochany Timera1 - a ty jakbyś próbował oddzielnie ustawiać jakiś Timer1A i Timer1B ... Zajrzyj do noty na rejestry TCCR1A i TCCR1B OK?<br /><br />2. Jeden Timer1 obsługuje 2 PWM'y a załączasz je bitami COM1x0 i COM1x1 czyli dla kanału A i B<br /><br />3. Tak samo preskaler ustawia się tylko raz dla całego timera1 za pomocą bitów CS1x ... Ale zajrzyj do noty PDF w jakim one znajdują się rejestrze. A ty sobie nie wiedzieć niestety na jakiej podstawie niefrasoblwie raz ustawiasz jakiś <br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">TCCR1A |= (1&lt;&lt;CS10);</div><br /><br />a raz<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">TCCR1B |= (1&lt;&lt;CS10);</div><br /><br />Skąd taki pomysł ??? Widziałeś kiedyś w rejestrze TCCR1A bity CSxx ???<br /><br />no przecież wystarczy otworzyć notę PDF dla ATmega8, wejść w rozdział:<br /><br /><strong><span style="color: #0000FF">16-bit Timer/Counter1 </span></strong><br /><br />a potem jak zwykle zajrzeć do rejestrów w ostatnim podrozdziale:<br /><br /><strong><span style="color: #0000FF">16-bit Timer/Counter Register Description</span></strong><br /><br />i tam w kolejnych podrozdziałach masz przepięknie opisane po kolei rejestry wszystkie dla Timera1<br /><br />to stamtąd musisz pozyskać informacje a nie wymyślać sobie na czuja ustawianie jakichś bitów.<br /><br />toż zobacz co się stanie po takiej linicjce:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">TCCR1A |= (1&lt;&lt;CS10);</div><br /><br />w rejestrze TCCR1A nie ma bitu CS10 no ale CS10 to stała dosłowna o wartości = 0 czyli wyjdzie:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">TCCR1A |= (1&lt;&lt;0);</div><br /><br />a to spowoduje że ustawisz na wartość = 1 bit WGM10, bo to on jest w rejestrze TCCR1A na pozycji 0<br /><br />mam nadzieję, że jak to poanalizujesz troszkę to sporo ci się rozjaśni <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Ale jak coś - to pytaj dalej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 lut 2012, o 01:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Dawid90]]></name></author>
<updated>2012-02-12T00:43:53+01:00</updated>
<published>2012-02-12T00:43:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2798#p2798</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2798#p2798"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2798#p2798"><![CDATA[
Taktowanie 8MHz z wbudowanego oscylatora. W fusebitach nic nie zmieniałem oprócz taktowania. W ksiązce napisane było by tylko taktowanie zmienić, więc tak zrobiłem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=203">Dawid90</a> — 12 lut 2012, o 00:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-12T00:17:27+01:00</updated>
<published>2012-02-12T00:17:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2797#p2797</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2797#p2797"/>
<title type="html"><![CDATA[Re: Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2797#p2797"><![CDATA[
Jaką częstotliwością taktujesz procka ? Fusebity ustawione poprawnie ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 lut 2012, o 00:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Dawid90]]></name></author>
<updated>2012-02-12T00:04:35+01:00</updated>
<published>2012-02-12T00:04:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2796#p2796</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2796#p2796"/>
<title type="html"><![CDATA[Sprzętowe PWM Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=839&amp;p=2796#p2796"><![CDATA[
Witam<br />Jako że to mój pierwszy post, przedstawię się. Nazywam się Dawid, jestem z Wrocławia. Aktualnie próbuje swych sił w programowaniu w języku C.<br /><br />Mam pewien problem z obsługą PWM w Atmega8. Chciałem wykorzystać wszystkie 3 sprzętowe pwm. Napisałem taki kod:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt; //obsluga przerwan<br />#include &lt;util/delay.h&gt;<br /><br />int main(void)<br />{<br /><br />DDRB |= (1&lt;&lt;PB3); //kierunek pinu PB3 - wyjscie<br />DDRB |= (1&lt;&lt;PB2); //kierunek pinu PB2 - wyjscie<br />DDRB |= (1&lt;&lt;PB1); //kierunek pinu PB1 - wyjscie<br /><br />//ustawienie timierow w tryb PWM<br /><br />TCCR2 |= (1&lt;&lt;WGM21) | (1&lt;&lt;WGM20); //tryb Fast PWM<br />TCCR2 |= (1&lt;&lt;COM21) | (1&lt;&lt;COM20); //clear OC2 at TOP<br />TCCR2 |= (1&lt;&lt;CS20); //preskaler na 1<br /><br />TCCR1A |= (1&lt;&lt;WGM12) | (1&lt;&lt;WGM11) | (1&lt;&lt;WGM10); //tryb Fast PWM 8bit<br />TCCR1A |= (1&lt;&lt;COM1A1)| (1&lt;&lt;COM1A0); //clear OC1A at TOP<br />TCCR1A |= (1&lt;&lt;CS10); //preskaler na 1<br /><br />TCCR1B |= (1&lt;&lt;WGM12) | (1&lt;&lt;WGM11) | (1&lt;&lt;WGM10); //tryb Fast PWM 8bit<br />TCCR1B |= (1&lt;&lt;COM1B1); //clear OC1B at TOP<br />TCCR1B |= (1&lt;&lt;CS10); //preskaler na 1<br /><br />uint8_t i;<br /><br />while(1)<br />{<br />for(i=0; i&lt;255; i++)<br />{<br />OCR2=i;<br />OCR1A=i;<br />OCR1B=i;<br />_delay_ms(100);<br />}<br />for(i=255;i;i--)<br />{<br />OCR2=i;<br />OCR1A=i;<br />OCR1B=i;<br />_delay_ms(100);<br />}<br />}<br /><br />}[/syntax]<br /><br />No i nie działa to tak jak powinno. Diody na PB1(OC1A) i PB3(OC2) działają, zapalają się i gasną. A dioda na pinie PB2(OC1B) ciągle się świeci. Próbowałem inaczej ustawiać tryby i nic. Moglibyście mnie naprowadzić co nie tak napisałem w kodzie? Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=203">Dawid90</a> — 12 lut 2012, o 00:04</p><hr />
]]></content>
</entry>
</feed>