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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-04-27T15:57:44+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=6895&amp;mode</id>
<entry>
<author><name><![CDATA[kapsel2105]]></name></author>
<updated>2014-04-27T15:57:44+01:00</updated>
<published>2014-04-27T15:57:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6895&amp;p=79444#p79444</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6895&amp;p=79444#p79444"/>
<title type="html"><![CDATA[Re: ATMEGA88 I PWM NA PORTD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6895&amp;p=79444#p79444"><![CDATA[
Dzięki Mirku za teko małego &quot;kopniaka&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> trochę mnie zmobilizował co by nie iść na ...łatwiznę.<br /><br />Ale niestety brak czasu to nie wymówka. Gdy zabierałem sie jakiś czas temu za zabawę z mikro... było go troche więcej, ale sie pozmieniało.<br />Najlepiej bym sobie odpuścił na jakiś czas gdy by nie to że mam nie dokończoną rzecz właśnie z powyższym.<br />Dokładnie chodzi o efekt gwiazd na niebie dla 5 diod, a bliżej diodki podświetlają gwiazdki nad łóżkiem małej. I tak wszystko czeka na program do procka.<br />Dlatego rozpacznie szukam rozwiązania na &quot;załatanie ściany&quot; <br /><br />Nefarious19 dzięki za cenne informację, gdy tylko uda mi się znów znaleźć trochę czasu na pewno sprawdzę.<br />Co do czasów to będą różne, dlatego rozpisałem _delay po pętli, ale co ja tam wiem...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1840">kapsel2105</a> — 27 kwi 2014, o 15:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nefarious19]]></name></author>
<updated>2014-04-27T08:49:16+01:00</updated>
<published>2014-04-27T08:49:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6895&amp;p=79398#p79398</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6895&amp;p=79398#p79398"/>
<title type="html"><![CDATA[Re: ATMEGA88 I PWM NA PORTD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6895&amp;p=79398#p79398"><![CDATA[
Witaj Kolego, na sam początek to odstaw procek na bok i zacznij czytać BLUEBOOKA'a bo to najprostsza droga żeby się czegoś nauczyć a brak czasu to tylko wymówka. Ja tam studiuje, pracuje i robię tysiąc innych rzeczy i jakoś mam czas żeby czasem usiąść i przeczytać chociażby jeden rozdział. Także do roboty!!:)<br /><br />a co do Twojego programu, zgodnie z tym co wyczytałem w nocie nabazgrałem coś takiego na ATmega88, nie wiem czy działa bo nie sprawdzałem na procku bo go nie mam ale w identyczny sposób na ATtiny13 robiłem i śmigało, ale musisz sam się przekonać. <br /><br />[syntax=c]/*<br /> /*<br /> * main.c<br /> *<br /> *  Created on: 27-04-2014<br /> *      Author: Rafał<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />void fast_pwm_timer2_init();<br /><br />#define CZAS_MIGANIA 10   //tu podaje się opóźnienie w pętli for<br /><br />uint8_t i = 0;//ZMIENNA LICZNIKOWA<br /><br />int main (void)<br />{<br />fast_pwm_timer2_init();<br /><br />while(1)<br />{<br />OCR2A = 50;<br />_delay_ms(1000);<br />for( i = 50; i &lt; 255; i++ )<br />{<br />OCR2A = i;<br />_delay_ms(CZAS_MIGANIA);<br />}<br />for( i = 255; i &gt; 50; i-- )<br />{<br />OCR2A = i;<br />_delay_ms(CZAS_MIGANIA);<br />}<br />}<br /><br />}<br /><br />void fast_pwm_timer2_init()<br />{<br />DDRB |= (1&lt;&lt;PB3);//ustaw PB3 jako wyjscie bo to wyjcie timera2<br />TCCR2A |= ((1&lt;&lt;WGM20) | (1&lt;&lt;WGM21));//ustaw timer2 w TRYB FAST_PWM<br />TCCR2A |= ((0&lt;&lt;COM2A0) | (1&lt;&lt;COM2A1));  // CLR on top (nie odwracający tryb - non inverting)<br />TCCR2A |= (1&lt;&lt;CS20);// preskaler 1<br />//OCR2 - jest to rejestr w który wpisujesz wartosc swojego PWM-a<br />}[/syntax]<br /><br />Pozdrawiam, Rafał:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2500">Nefarious19</a> — 27 kwi 2014, o 08:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-04-27T06:39:35+01:00</updated>
<published>2014-04-27T06:39:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6895&amp;p=79394#p79394</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6895&amp;p=79394#p79394"/>
<title type="html"><![CDATA[Re: ATMEGA88 I PWM NA PORTD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6895&amp;p=79394#p79394"><![CDATA[
<div class="quotetitle">kapsel2105 napisał(a):</div><div class="quotecontent"><br />Nie powiem że napisałem, bo raczej &quot;posklejałem&quot; sobie kod wyszukany w necie:<br /></div><br /><br />To widać dość wyraźnie ...<br /><br /><div class="quotetitle">kapsel2105 napisał(a):</div><div class="quotecontent"><br />gdyż po mimo iż mam obie książki, to przejrzałem je pobieżnie z braku czasu <br />Przez co nie do końca rozumiem timery, preskalery i możliwości konfiguracji ich bitów<br /></div><br /><br />No i jak koledze pomóc, skoro akurat to o co pytasz jest dobrze wyjaśnione w Bluebooku czyli i PWM i konfiguracje timerów itp ....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 kwi 2014, o 06:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kapsel2105]]></name></author>
<updated>2014-04-27T00:14:41+01:00</updated>
<published>2014-04-27T00:14:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6895&amp;p=79390#p79390</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6895&amp;p=79390#p79390"/>
<title type="html"><![CDATA[ATMEGA88 I PWM NA PORTD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6895&amp;p=79390#p79390"><![CDATA[
Witam wszystkich.<br />Wybrałem ten dział gdyż dopiero zaczynam (już któryś raz z powodu braku czasu) zabawę z mikrokontrolerem.<br />Nie powiem że napisałem, bo raczej &quot;posklejałem&quot; sobie kod wyszukany w necie:<br />[syntax=c]/*<br />     Wykorzystanie sprzętowego PWM<br /><br />     AVR ATMEGA 88  (1MHz)<br />*/<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />int main(void)<br />{<br /><br />int i;<br />   // Konfiguracja portów we/wy<br /><br />   DDRB = (1&lt;&lt;PB1)|(1&lt;&lt;PB2);<br />   DDRD = _BV(PD5) | _BV(PD6);<br />   ICR1  = 255;<br /><br /><br /><br />  /* Ustawienie sprzętowego PWM */<br />   OCR0A = 30;<br />   OCR0B = 30;<br />   OCR1A = 30;<br />   OCR1B = 30;<br />   OCR2A = 30; //Wartości startowe dla każdego wyjścia<br />   OCR2B = 30;<br /><br />// Ustawienie rejestrów i ich bitów<br />  TCCR0A|=(1&lt;&lt;COM0A1)|(1&lt;&lt;COM0B1)|(1&lt;&lt;COM0B0)|(1&lt;&lt;WGM01)|(1&lt;&lt;WGM00);<br />  TCCR0B|= (1&lt;&lt;CS02);<br />  TCCR1A|=(1&lt;&lt;COM1A1)|(1&lt;&lt;COM1B1)|(1&lt;&lt;WGM11);<br />  TCCR1B|=(1&lt;&lt;WGM13)|(1&lt;WGM12)|(1&lt;&lt;CS10);<br /><br />  TCCR2A|=(1&lt;&lt;COM2A1)|(1&lt;&lt;COM2A0)|(1&lt;&lt;WGM21)|(1&lt;&lt;WGM20);<br />  TCCR2B|=(1&lt;&lt;CS20);<br /><br /><br /> // TCCR0A = 1 &lt;&lt; COM0A1 |    /* not inverted */<br /> //          0 &lt;&lt; COM0A0 |<br /> //          1 &lt;&lt; COM0B1 |    /* not inverted */<br /> //          1 &lt;&lt; COM0B0 |<br />//          1 &lt;&lt; WGM01  |    /* fast pwm */<br /> //          1 &lt;&lt; WGM00  ;    /* fast pwm */<br /><br />// TCCR0B = 0 &lt;&lt; FOC0A |<br /> //          0 &lt;&lt; FOC0B |<br /> //          0 &lt;&lt; WGM02 |     /* fast pwm */<br /> //          1 &lt;&lt; CS02  |     /* div 256 prescale */<br /> //          0 &lt;&lt; CS01  |<br /> //          0 &lt;&lt; CS00  ;<br /><br />   while(1)<br />   {<br /><br />     for(i=30;i&lt;=255;i++)<br />     {<br />       OCR1A=i;<br />       _delay_ms(0.5);<br />     }<br />     for(i=255;i&gt;=30;i--)<br />     {<br />       OCR1A=i;<br />       _delay_ms(0.5);<br />     }<br />    _delay_ms(1000);<br />     for(i=30;i&lt;=255;i++)<br />     {<br />       OCR1B=i;<br />       _delay_ms(0.5);<br />     }<br />     for(i=255;i&gt;=30;i--)<br />     {<br />       OCR1B=i;<br />       _delay_ms(0.5);<br />     }<br />    _delay_ms(1000);<br />     for(i=30;i&lt;=255;i++)<br />     {<br />        OCR0A=i;<br />        _delay_ms(0.5);<br />     }<br />     for(i=255;i&gt;=30;i--)<br />     {<br />        OCR0A=i;<br />        _delay_ms(0.5);<br />     }<br />    _delay_ms(1000);<br />   }<br />}[/syntax]<br /><br />Ogólnie chciałbym otrzymać efekt &quot;gwiaździstego nieba&quot; (czyli dioda lekko świeci i co jakiś czas się rozjaśnia na chwilkę).<br />Jednak nie udaje mi się z DDRD. Dioda zamiast się lekko świecić cały czas szybko mruga, i oczywiście się to mruganie rozjaśnia, ale chciałbym aby zachowywała się jak te na wyjściach PB1 i PB2.<br /><br />Bardzo proszę o wyrozumiałość, gdyż po mimo iż mam obie książki, to przejrzałem je pobieżnie z braku czasu <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />Przez co nie do końca rozumiem timery, preskalery i możliwości konfiguracji ich bitów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1840">kapsel2105</a> — 27 kwi 2014, o 00:14</p><hr />
]]></content>
</entry>
</feed>