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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-12-31T17:07:29+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=2013&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-12-31T17:07:29+01:00</updated>
<published>2012-12-31T17:07:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22750#p22750</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22750#p22750"/>
<title type="html"><![CDATA[Re: Przyklad PWM z ksiazki- nie chce dzialac]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22750#p22750"><![CDATA[
<div class="quotetitle">gomes napisał(a):</div><div class="quotecontent"><br />inne projekty w tym te z lcd tak zmienialem i ladnie te zmiany zaczytywalo i sie odpowiednio kompilowalo.<br />Czy sa jeszcze jakies inne opcje ktore trzeba zmienic jak korzysta sie z workspace od Mirka ?<br /></div><br /><br />Aaaaa chyba wiem o czym mówisz <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... fakt też się z tym spotkałem że gdy w swoim workspace próbowałem zmieniać procka w propertiesach i dawało radę to zrobić to po kompilacji właśnie w konsoli wciąż była kompilacja dla starego procka czyli ATmega32 - tak jakby się coś zacięło <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... normalnie szok<br /><br />ale jak zwykle na szczęście w Eclipse jest zawsze na to jedna dobra sprawdzona rada. Jak coś dziwnego się dzieje w workspace np takie efekty albo inne, to tworzę nowy workspace i albo importuję tylko ten jeden interesujący mnie projekt albo wszystkie (ładnie to przechodzi) i nagle kłopoty się kończą ...<br /><br />więc rzeczywiście czasem takie małe odchyłki się dzieją - fakt - ale jak piszę można sobie z tym poradzić <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> — 31 gru 2012, o 17:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gomes]]></name></author>
<updated>2012-12-31T16:59:33+01:00</updated>
<published>2012-12-31T16:59:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22744#p22744</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22744#p22744"/>
<title type="html"><![CDATA[Re: Przyklad PWM z ksiazki- nie chce dzialac]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22744#p22744"><![CDATA[
Panowie,<br />obecnie nie mam juz czasu aby przedstawic printscr ale jak pisalem wczesniej oczywiscie te utawienia zostaly zmienione w projekt&gt; properties&gt;avr &gt; target hardware i tam jak wspomnialem atmega16 oraz 8 mhz, apply, ok.<br /><br />inne projekty w tym te z lcd tak zmienialem i ladnie te zmiany zaczytywalo i sie odpowiednio kompilowalo.<br />Czy sa jeszcze jakies inne opcje ktore trzeba zmienic jak korzysta sie z workspace od Mirka ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=779">gomes</a> — 31 gru 2012, o 16:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-12-31T16:48:18+01:00</updated>
<published>2012-12-31T16:48:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22737#p22737</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22737#p22737"/>
<title type="html"><![CDATA[Re: Przyklad PWM z ksiazki- nie chce dzialac]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22737#p22737"><![CDATA[
<div class="quotetitle">Antystatyczny napisał(a):</div><div class="quotecontent"><br />Jeśli importowałes projekt z Mirkowego workspace'a, to wcale nie jest dziwne, że masz ustawiony procek M32 i F_CPU 11059200 <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Po prostu dokonałeś importu wraz z ustawieniami <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br /><br />Dokładnie i dlatego nie można mówić, <br /><br /><div class="quotetitle">gomes napisał(a):</div><div class="quotecontent"><br />... ale na zle zaczytywanie przez eclipse nie zwrocilem uwagi.<br /></div><br /><br />bo CLEAN projektu nie zapewni wejścia w jego właściwości i zmiany procesora plus wartości jego taktowania. To nie wina Eclipse <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> — 31 gru 2012, o 16:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gomes]]></name></author>
<updated>2012-12-31T16:23:59+01:00</updated>
<published>2012-12-31T16:23:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22730#p22730</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22730#p22730"/>
<title type="html"><![CDATA[Re: Przyklad PWM z ksiazki- nie chce dzialac]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22730#p22730"><![CDATA[
Dzieki kolego -strzal w 10 <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />We wlasciwosciach projektu &gt;avr&gt; target hardware  mam atmega16 oraz 8 mhz a przy kompilacji jakims cudem zaczytuje wartosci ktore byly domyslnie na dvd <strong>-mmcu=atmega32 -DF_CPU=11059200UL</strong> <br />[syntax=c]<br /><br />**** Build of configuration Release for project 05_PWM ****<br /><br />make all <br />Building file: ../main.c<br />Invoking: AVR Compiler<br />avr-gcc -Wall -Os -fpack-struct -fshort-enums -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=11059200UL -MMD -MP -MF&quot;main.d&quot; -MT&quot;main.d&quot; -c -o&quot;main.o&quot; &quot;../main.c&quot;<br />Finished building: ../main.c<br /> <br />Building target: 05_PWM.elf<br />Invoking: AVR C Linker<br />avr-gcc -Wl,-Map,05_PWM.map -mmcu=atmega32 -o&quot;05_PWM.elf&quot;  ./main.o   <br />Finished building target: 05_PWM.elf<br /> <br />Invoking: AVR Create Extended Listing<br />avr-objdump -h -S 05_PWM.elf  &gt;&quot;05_PWM.lss&quot;<br />Finished building: 05_PWM.lss<br /> <br />Create Flash image (ihex format)<br />avr-objcopy -R .eeprom -O ihex 05_PWM.elf  &quot;05_PWM.hex&quot;<br />Finished building: 05_PWM.hex<br /> <br />Create eeprom image (ihex format)<br />avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex 05_PWM.elf  &quot;05_PWM.eep&quot;<br />Finished building: 05_PWM.eep<br /> <br />Invoking: Print Size<br />avr-size --format=avr --mcu=atmega32 05_PWM.elf<br />AVR Memory Usage<br />----------------<br />Device: atmega32<br /><br />Program:     518 bytes (1.6% Full)<br />(.text + .data + .bootloader)<br /><br />Data:          7 bytes (0.3% Full)<br />(.data + .bss + .noinit)<br /><br /><br />Finished building: sizedummy<br /> <br /><br /><br />[/syntax]<br /><br /><br />Utworzylem nowy projekt, jeszcze raz kombilacja i <br />[syntax=c]<br /><br /><br />**** Build of configuration Release for project pwm2 ****<br /><br />make all <br />Invoking: Print Size<br />avr-size --format=avr --mcu=atmega16 pwm2.elf<br />AVR Memory Usage<br />----------------<br />Device: atmega16<br /><br />Program:     518 bytes (3.2% Full)<br />(.text + .data + .bootloader)<br /><br />Data:          7 bytes (0.7% Full)<br />(.data + .bss + .noinit)<br /><br /><br />Finished building: sizedummy<br /> <br /><br />[/syntax]<br /><br />tyle czasu nad tym siedzialem, pare razy 'czyscilem' projekt ale na zle zaczytywanie przez eclipse nie zwrocilem uwagi.<br />Dzieki i dosiego.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=779">gomes</a> — 31 gru 2012, o 16:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-12-31T13:33:34+01:00</updated>
<published>2012-12-31T13:33:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22683#p22683</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22683#p22683"/>
<title type="html"><![CDATA[Re: Przyklad PWM z ksiazki- nie chce dzialac]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22683#p22683"><![CDATA[
Kod jest dobry moim zdaniem.<br />Może kolega pokaże jak to się kompiluje. Najpierw clean potem build.<br />Takie coś mnie interesuje:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">'Building file: ../main.c'<br />'Invoking: AVR Compiler'<br />avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega644p -DF_CPU=20000000UL -MMD -MP -MF&quot;main.d&quot; -MT&quot;main.d&quot; -c -o &quot;main.o&quot; &quot;../main.c&quot;</div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 31 gru 2012, o 13:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gomes]]></name></author>
<updated>2012-12-31T13:20:42+01:00</updated>
<published>2012-12-31T13:20:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22677#p22677</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22677#p22677"/>
<title type="html"><![CDATA[Re: Przyklad PWM z ksiazki- nie chce dzialac]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22677#p22677"><![CDATA[
<div class="quotetitle">GwynBleidD napisał(a):</div><div class="quotecontent"><br />Pokaż w jaki sposób puszczasz ten timer2 i czy włączasz do jego obsługi jakieś przerwania? Masz makra ISR do tych przerwań w kodzie? Bo jeśli nie, to właśnie tu masz przyczynę zawieszania procka <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /></div>linie od 125 do 138 powyzej zamieszczonego kodu <br /><br />Caly kod jaki kompiluje (bez bledow) zamiescilem w pierwszym poscie. Pochodzi on z plyty DVD do niebieskiej ksiazki.<br />Sprawdzalem na stronie glownej i do tego kodu nie bylo zadnych aktualizacji wiec uznalem, ze kod jest aktualny.<br /><br />Jedyne co jest inne to uC &gt; zamiast atmegi32 jest atmega16 (podobno wszystkie rejestry sa tak samo adresowane tylko jest mniej dostepnej pamieci) oraz taktowanie ( u mnie 8 MHz, w przykladach na DVD ~11 MHz). Timer2 ma tryb CTC czyli nie trzeba wpisywac pozycji od ktorej przy ponownej petli ma zaczynac co by sie zgadzalo z kodem z 1 postu.<br /><br />A jednak cos jest nie tak i program po wgraniu nie dziala jak powinien.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=779">gomes</a> — 31 gru 2012, o 13:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gomes]]></name></author>
<updated>2012-12-31T09:25:49+01:00</updated>
<published>2012-12-31T09:25:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22640#p22640</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22640#p22640"/>
<title type="html"><![CDATA[Re: Przyklad PWM z ksiazki- nie chce dzialac]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22640#p22640"><![CDATA[
Kwestie dokladnego zrozumienia jak to dziala zostawmy na pozniej <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />W chwili obecnej prosze o podpowiedz jak sprawdzic dlaczego po 'puszczeniu' timera2 uc sie zawiesza i ani dioda do debugowania nie zmienia stanu (pb0- chcialem sprawdzic jaki czas zajmuje przejscie calej petli while) oraz dioda rozjasniajaca i pozniej gasnaca podlaczona do pb3 (timer sprzetowy, dziala jak powinno gdy zakomentowana jest deklaracja timera2).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=779">gomes</a> — 31 gru 2012, o 09:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-12-30T22:43:23+01:00</updated>
<published>2012-12-30T22:43:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22615#p22615</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22615#p22615"/>
<title type="html"><![CDATA[Re: Przyklad PWM z ksiazki- nie chce dzialac]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22615#p22615"><![CDATA[
<div class="quotetitle">gomes napisał(a):</div><div class="quotecontent"><br />Poprawilem zgodnie z zaleceniami.<br />Dorobilem sobie debugera w postaci diody podlaczone do pb0 i problem powstaje (uc sie zawiesza) jak odkomentuje linie 38-44 w ktorych ustawiam timer2. Sprawdzilem w nocie i wszystkie bity rejestrow sie zgadzaja, 3 razy przeczytalem dzial w ksiazce i dalej nie moge zlapac dlaczego to nie dziala.<br />Jak mozesz prosze potwierdz, czy dobrze rozumiem dzialanie tego przykladu:<br />taktowanie 8000000/1(preskaler)/200(ocr2)= 40khz, co taki okres inkrementowane jest cnt oraz porownywane z pwmx. Dziala to w przerwaniu wiec ma priorytet tylko zastanawiam sie z jaka predkonscia bedzie w petli glownej inkrementowane pwmx wchodzace do petli for - jak sie maja te czasy oraz wartosci do siebie ? (inaczej, dlaczego w przerwaniu sprawdzamy czy cnt jest wieksze lub rowne pwmx)<br /></div><br /><br />Ja bym ci z chęcią pomógł ale tak nagmatwałeś w tym pytaniu że niestety mało rozumiem <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />przede wszystkim - masz w książce dobrze opisany programowy PWM i dlaczego w przerwaniu działa cnt - może zacznij jeszcze raz od przeczytania tego w książce ok ? strona 229 - popatrz tam bo chyba przeoczyłeś<br /><br />jeśli chodzi o wyliczenia to też są w książce zobacz od ostatniego akapitu na dole strony 228 ...<br /><br />40kHz to tylko taktowany jest Timer, ale trzeba to podzielić jeszcze przez 256 kroków PWM'a programowego<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 gru 2012, o 22:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kila]]></name></author>
<updated>2012-12-30T19:02:44+01:00</updated>
<published>2012-12-30T19:02:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22584#p22584</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22584#p22584"/>
<title type="html"><![CDATA[Re: Odp: Przyklad PWM z ksiazki- nie chce dzialac]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22584#p22584"><![CDATA[
Powiem Ci, że też parę chwil poświęciłem na to, aby skumać tą zasadę i ją skumałem, ale wybacz - nie potrafię Ci tego wytłumaczyć... <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=699">kila</a> — 30 gru 2012, o 19:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gomes]]></name></author>
<updated>2012-12-30T18:34:15+01:00</updated>
<published>2012-12-30T18:34:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22580#p22580</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22580#p22580"/>
<title type="html"><![CDATA[Re: Przyklad PWM z ksiazki- nie chce dzialac]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22580#p22580"><![CDATA[
Poprawilem zgodnie z zaleceniami.<br />Dorobilem sobie debugera w postaci diody podlaczone do pb0 i problem powstaje (uc sie zawiesza) jak odkomentuje linie 38-44 w ktorych ustawiam timer2. Sprawdzilem w nocie i wszystkie bity rejestrow sie zgadzaja, 3 razy przeczytalem dzial w ksiazce i dalej nie moge zlapac dlaczego to nie dziala.<br />Jak mozesz prosze potwierdz, czy dobrze rozumiem dzialanie tego przykladu:<br />taktowanie 8000000/1(preskaler)/200(ocr2)= 40khz, co taki okres inkrementowane jest cnt oraz porownywane z pwmx. Dziala to w przerwaniu wiec ma priorytet tylko zastanawiam sie z jaka predkonscia bedzie w petli glownej inkrementowane pwmx wchodzace do petli for - jak sie maja te czasy oraz wartosci do siebie ? (inaczej, dlaczego w przerwaniu sprawdzamy czy cnt jest wieksze lub rowne pwmx)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=779">gomes</a> — 30 gru 2012, o 18:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-12-30T17:54:34+01:00</updated>
<published>2012-12-30T17:54:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22572#p22572</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22572#p22572"/>
<title type="html"><![CDATA[Re: Przyklad PWM z ksiazki- nie chce dzialac]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22572#p22572"><![CDATA[
Witamy na forum ale:<br /><br />1. używaj znaczników [ syntax = c ] - wyedytuj swój post wyżej i sprawdź jak to przerobiłem ok ?<br /><br />poza tym jakie linie odkomentujesz - napisz precyzyjniej ??? i zobacz jak to będzie w znacznikach syntax to nawet numery linii się pojawią do których będziesz się mógł odwołać.....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 gru 2012, o 17:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gomes]]></name></author>
<updated>2012-12-30T18:25:48+01:00</updated>
<published>2012-12-30T17:34:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22566#p22566</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22566#p22566"/>
<title type="html"><![CDATA[Przyklad PWM z ksiazki- nie chce dzialac]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2013&amp;p=22566#p22566"><![CDATA[
Witam wszystkich,<br />przerabiam wlasnie przyklady z ksiazki i napotkalem na problem z ktorym caly dzien nie potrafie sobie poradzic.<br />Platforma to plytka stykowa z atmega 16 taktowana wew 8 MHz bez jtaga, zasilanie zrobione wedlug zalecen z ksiazki.<br />Przyklad ze sprzetowym timerem bez timera2 dziala jak powinien (dioda na pb3 zapala sie po czym gasnie)<br /><br />[syntax=c]<br />/*<br /> * main.c<br /> *<br /> *  Created on: 2010-04-05<br /> *       Autor: Mirosław Kardaś<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />// definicje zmiennych do sterowania 6 kanałami programowych PWM<br />// zmienne typu uint8_t, rozdzielczość 8-bitowa<br />volatile uint8_t pwm1, pwm2, pwm3, pwm4, pwm5, pwm6;<br /><br />// główna funkcja programu main()<br />int main(void)<br />{<br />//***** SPRZĘTOWY PWM - 1 KANAŁ OC0 (PB3) *******<br />// ustawienie końcówki OC0 (PB3) sprzętowy PWM jako WYJŚCIE<br />DDRB |= (1&lt;&lt;PB3);<br />// ustawienia TIMER2 w Fast PWM<br />TCCR0 |= (1&lt;&lt;WGM01)|(1&lt;&lt;WGM00);// tryb Fast PWM<br />TCCR0 |= (1&lt;&lt;COM01);// clear at TOP<br />TCCR0 |= (1&lt;&lt;CS00);// preskaler = 1<br />OCR0=127;// wygaszenie diody w kanale PWM<br /><br />DDRB |=(1&lt;&lt;PB0);<br />PORTB |= (1&lt;&lt;PB0);<br /><br /><br />//***** PROGRAMOWY PWM - 6 KANAŁÓW *******<br />// ustawienie pinów kanałów programowych PWM jako WYJŚCIA<br />DDRC |= (1&lt;&lt;PC0)|(1&lt;&lt;PC1)|(1&lt;&lt;PC2)|(1&lt;&lt;PC3);<br />DDRD |= (1&lt;&lt;PD7)|(1&lt;&lt;PD6)|(1&lt;&lt;PD2);<br />// wyłączenie diod LED podłączonych katodami do wyjść<br />PORTC |= (1&lt;&lt;PC0)|(1&lt;&lt;PC1)|(1&lt;&lt;PC2)|(1&lt;&lt;PC3);<br />PORTD |= (1&lt;&lt;PD7)|(1&lt;&lt;PD6)|(1&lt;&lt;PD2);<br />/*<br />// ustawienia TIMER2 w tryb CTC<br />TCCR2 |= (1&lt;&lt;WGM21);// tryb  CTC<br />TCCR2 |= (1&lt;&lt;CS20);// preskaler = 1<br />OCR2 = 200;// dodatkowy podział częsttotliwości przez 200<br />TIMSK |= (1&lt;&lt;OCIE2);// zezwolenie na przerwanie CompareMatch<br />*/<br />sei();// odblokowanie globalne przerwań<br />uint8_t i;// definicja zmiennej i na potrzeby pętli for()<br /><br /><br />while(1)<br />{PORTB ^=(1&lt;&lt;PB0);<br />// pętla rozjaśniająca 6 diod LED<br /><br /><br />for(i=0;i&lt;255;i++)<br />{<br />OCR0=i;// ta dioda będzie ulegała ściemnianiu w tej pętli<br />_delay_ms(10);<br /><br /><br />pwm1=i;<br />pwm2=i;<br />pwm3=i;<br />pwm4=i;<br />pwm5=i;<br />pwm6=i;<br /><br />// W związku z dużą nieliniowością zależności prądu diod LED<br />// i jasności świecenia, wprowadzone jest zmienne opóźnienie<br />// przy wartościach bliskich zera aby zminimalizować ten efekt<br />if(i&gt;50) _delay_ms(3);<br />else _delay_ms(10);<br /><br />}<br /><br />// całkowite rozjaśnienie diody LED przez 100ms<br />OCR0=255;<br />// rozświetlenie na maksimum przez 100ms<br />pwm1=255;<br />pwm2=255;<br />pwm3=255;<br />pwm4=255;<br />pwm5=255;<br />pwm6=255;<br />//_delay_ms(500);<br /><br />// pętla stopniowo ściemniająca 6 diod LED<br />for(i=255;i;i--)<br />{<br />_delay_ms(10);<br />OCR0=i;// ta dioda będzie ulegała rozjaśnianiu w tej pętli<br /><br />pwm1=i;<br />pwm2=i;<br />pwm3=i;<br />pwm4=i;<br />pwm5=i;<br />pwm6=i;<br /><br />// W związku z dużą nieliniowością zależności prądu diod LED<br />// i jasności świecenia, wprowadzone jest zmienne opóźnienie<br />// przy wartościach bliskich zera aby zminimalizować ten efekt<br />if(i&gt;50) _delay_ms(3);<br />else _delay_ms(10);<br /><br />}<br /><br /><br />// całkowite rozjaśnienie diody LED przez 100ms<br />OCR0=0;<br />// całkowite wygaszenie diod LED przez 100ms<br />pwm1=0;<br />pwm2=0;<br />pwm3=0;<br />pwm4=0;<br />pwm5=0;<br />pwm6=0;<br /><br />_delay_ms(500);<br /><br />}<br />}<br /><br /><br />// ciało procedury obsługi przerwania Compare Match Timera2<br />ISR( TIMER2_COMP_vect )<br />{<br />static uint8_t cnt; // definicja naszego licznika PWM<br /><br />// bezpośrednie sterowanie wyjściami kanałów PWM<br />if(cnt&gt;=pwm1) PORTC |= (1&lt;&lt;PC0); else PORTC &amp;= ~(1&lt;&lt;PC0);<br />if(cnt&gt;=pwm2) PORTC |= (1&lt;&lt;PC1); else PORTC &amp;= ~(1&lt;&lt;PC1);<br />if(cnt&gt;=pwm3) PORTC |= (1&lt;&lt;PC2); else PORTC &amp;= ~(1&lt;&lt;PC2);<br />if(cnt&gt;=pwm4) PORTD |= (1&lt;&lt;PD7); else PORTD &amp;= ~(1&lt;&lt;PD7);<br />if(cnt&gt;=pwm5) PORTD |= (1&lt;&lt;PD6); else PORTD &amp;= ~(1&lt;&lt;PD6);<br />if(cnt&gt;=pwm6) PORTD |= (1&lt;&lt;PD2); else PORTD &amp;= ~(1&lt;&lt;PD2);<br /><br />cnt++;// zwiększanie licznika o 1<br />}<br /><br /><br /><br />[/syntax] <br /><br />lecz gdy usune zakomentowania mikrokontroler prawdopodobnie z jakiegos powodu sie zawiesza ( na pb3 dioda caly czas sie swieci) a na pozostaly 'zadeklarowanych' portach panuje stan wysoki.<br />Jakies sugestie ?<br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=779">gomes</a> — 30 gru 2012, o 17:34</p><hr />
]]></content>
</entry>
</feed>