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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-04-09T20:24:08+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=848&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-04-09T20:24:08+01:00</updated>
<published>2013-04-09T20:24:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=33980#p33980</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=33980#p33980"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=33980#p33980"><![CDATA[
<div class="quotetitle">ravers_19 napisał(a):</div><div class="quotecontent"><br />Panie Mirku u mnie ta sama opcja...pobrałem ten kod który Pan podał, ale procek nie zapala diody. Oczywiście wklepałem to z poprawką...Normalnie jak sprawdzam w pętli czy doliczył do jakiejś liczby to zapala diodę. W momencie gdy tylko zamienię na funkcję przerwania, tak nic nie reaguje...<br /></div><br /><br />Przykro mi ale kompletnie nie wiem o czym mówisz <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> Załóż nowy wątek i po kolei krok po kroku opisz z czym masz kłopot - wtedy pomogę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 kwi 2013, o 20:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ravers_19]]></name></author>
<updated>2013-04-09T18:54:37+01:00</updated>
<published>2013-04-09T18:54:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=33959#p33959</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=33959#p33959"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=33959#p33959"><![CDATA[
Panie Mirku u mnie ta sama opcja...pobrałem ten kod który Pan podał, ale procek nie zapala diody. Oczywiście wklepałem to z poprawką...Normalnie jak sprawdzam w pętli czy doliczył do jakiejś liczby to zapala diodę. W momencie gdy tylko zamienię na funkcję przerwania, tak nic nie reaguje...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1131">ravers_19</a> — 9 kwi 2013, o 18:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DidekxD]]></name></author>
<updated>2012-02-23T18:39:51+01:00</updated>
<published>2012-02-23T18:39:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=3401#p3401</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=3401#p3401"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=3401#p3401"><![CDATA[
O mój losie O.O A przecież wiem jak powinno się to pisać więc czemu popełniłem taki błąd ? Wstyd ^^' to wydawało się aż nie możliwe a jednak xP patrzyłem na kod tyle razy i nie zauważyłem <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> Zastanawia mnie czemu popełniłem taki błąd skoro wszystkie inne timery i przerwania obsłużyłem prawidłowo xP<br /><br />No cóż dziękuje za pomoc i przepraszam za kłopot ^ ^'<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=146">DidekxD</a> — 23 lut 2012, o 18:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-23T17:53:41+01:00</updated>
<published>2012-02-23T17:53:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=3398#p3398</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=3398#p3398"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=3398#p3398"><![CDATA[
No JUŻ mam <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ...... oczywiście że Timer0 działa w twoim procku<br /><br />a ja przepraszam, że naraziłem cię na to wysyłanie do mnie - bo przecież w kodzie jest<br /><br />M E G A    E W I D E N T N Y    B Ł Ą D    !!!!!!!!!!!!!!!!!!!!!!!!!<br /><br />i powinienem był go wcześniej zauważyć !!! tzn nawet pisałem ci że ten kod działa u mnie w procku ale zrobiłem .... no kichę ponieważ - ja nie zrobiłem kopiuj/wklej twojego kodu - tylko szybciutko go &quot;z ręki&quot; przeklepałem u siebie w ECLIPSE - skompilowałem i wgrałem - a potem potwierdziłem ci że identyczny kod u mnie działa bo działał !!!!<br /><br />tyle że gdy ja pisałem kod &quot;z ręki&quot; to nie popełniłem tego błędu co ty, bo ty napisałeś taką linię programu panie kochany <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... normalnie po łapach musisz dostać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... no ale ja też bo źle sprawdziłem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />TIMSK |= (<strong><span style="color: #FF0000"><span style="font-size: 100%; line-height: normal">TOIE0</span></span></strong>);<br /></div><br /><br />a przecież chyba sam już wiesz teraz od razu jak powinno być ???? <br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />TIMSK |= ( <span style="color: #008000"><strong><span style="font-size: 200%; line-height: normal">1 &lt;&lt; </span><span style="font-size: 150%; line-height: normal">TOIE0</span></strong></span> );<br /></div><br /><br />niestety takie &quot;czeskie&quot; błędy najbardziej kosztują jak widzisz - i mam nadzieję, że teraz już nigdy go nie popełnisz <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ..... a jak widzisz - STRASZNIE trudno nawet w tak prostym kodzie tego <strong><span style="color: #BF00FF"><span style="font-size: 150%; line-height: normal">BUG'a</span></span></strong> zobaczyć a co dopiero mówić w bardziej rozbudowanym kodzie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />jak procek przyszedł to znowu - wpisałem na szybko kod z ręki no i działa .... no to mówię co za czort!?! ... wtedy dopiero pokusiłem się na KOPIUJ/WKLEJ twojego kodu ..... no i wyszło szydło z worka - a przecież błąd masz już w pierwszym poście na samej górze - i ja niestety później odpowiadając na forum przekopiowywałem tylko ten kod - nie zwróciwszy uwagi na BABOLO-BUG'a<br /><br />OK - koperty już nie mam - a na kartce adresu nie zapisałeś - więc napisz mi na maila swój adres to odeślę ci procka <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />TAK więc mam nadzieję, że już nigdy nie wysnujesz wniosku, że jakiś moduł ci w procku nie działa OK? Jak nie działa to trzeba do upadłego szukać błędu w tym co się robi i pisze a nie doszukiwać się cudu w postaci uszkodzenia sprzętu w jego bebechach <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Mówiłem, że to nie możliwe no i tak wyszło.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 lut 2012, o 17:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-15T18:13:46+01:00</updated>
<published>2012-02-15T18:13:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2947#p2947</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2947#p2947"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2947#p2947"><![CDATA[
Tak dla dla zasady to powinno być tak:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /> <br />int main(void)<br />{<br />        DDRC |= (1&lt;&lt;PC1);<br />        PORTC &amp;= ~(1&lt;&lt;PC1);<br /> <br />        // timer0<br />        TCNT0 = 241;<br />        TCCR0 |= (1&lt;&lt;CS01);<br />        TIMSK |= (TOIE0);<br /> <br />        sei();<br /><br />        while(1) { }<br /><br />}<br /> <br />ISR(TIMER0_OVF_vect)<br />{<br />        TCNT0 = 241;<br />        PORTC |= (1&lt;&lt;PC1);  // zgaś diode<br />}[/syntax]<br /><br />ale to oczywiście nie ma związku z problemem tylko dla zasady jak mówię.<br /><br />Wracając jednak do problemu - to jeśli te połączenia są dobre i dioda dobra w co wierzę bo przecież już testowałeś i ciężko byłoby dwa razy taką samą pomyłkę w tym zrobić .... to być może to pierwszy procek w taki sposób uszkodzony .....<br /><br />aczkolwiek chciałbym mieć możliwość pomacania go aż własnymi łapkami <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> — 15 lut 2012, o 18:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DidekxD]]></name></author>
<updated>2012-02-15T17:25:21+01:00</updated>
<published>2012-02-15T17:25:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2943#p2943</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2943#p2943"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2943#p2943"><![CDATA[
[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />int main(void)<br />{<br />DDRC |= (1&lt;&lt;PC1);<br />PORTC &amp;= ~(1&lt;&lt;PC1);<br /><br />// timer0<br />TCNT0 = 241;<br />TCCR0 |= (1&lt;&lt;CS01);<br />TIMSK |= (TOIE0);<br /><br />sei();<br />}<br /><br />ISR(TIMER0_OVF_vect)<br />{<br />TCNT0 = 241;<br />PORTC |= (1&lt;&lt;PC1);  // zgaś diode<br />}<br />[/syntax]<br /><br />Dzieje się dokładnie to samo <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> próbowałem nawet za komentować 'TCNT0' i też to samo. <br />Jakieś wnioski ?  Pomysły ?:D<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=146">DidekxD</a> — 15 lut 2012, o 17:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-15T15:35:51+01:00</updated>
<published>2012-02-15T15:35:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2938#p2938</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2938#p2938"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2938#p2938"><![CDATA[
Mnie zawsze interesują takie przypadki <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i to bardzo - i gotów jestem się założyć, że procek nie mógł się tak uszkodzić.... ale....<br /><br />ale zrób jeszcze tak:<br /><br />1. utwórz w Eclipse całkiem nowy projekt<br />2. utwórz w projekcie od nowa plik main.c<br />3. w tym pliku w funkcji main zainicjalizuj tylko pin do diody i Timer0<br />4. odpal przerwania<br />5. w przerwaniu OVF gaś diodę LED<br /><br />skompiluj, wgraj i sprawdź .... i podeślij albo tu pokaż cały taki krótki i zwięzły testowy kod .... zobaczymy co?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 15 lut 2012, o 15:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DidekxD]]></name></author>
<updated>2012-02-15T13:17:30+01:00</updated>
<published>2012-02-15T13:17:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2935#p2935</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2935#p2935"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2935#p2935"><![CDATA[
Dalej to samo :/ za komentowałem wszystko i zostawiłem tylko kod którym ustawiam pin na wyjście i podciągam go do masy czym zapalam diode. inicjalizacje licznika na przerwanie od przepełnienia OVF przeniosłem do funkcji main() a funkcje sei() umieściłem przed pętlą główną programu. Obsługę samego przerwania również przeniosłem do do pliku main.c i tylko on się teraz kompiluje.<br /><br />Mam wrażenie że to może coś z moim prockiem... kupiłem go od kumpla i parę lat ma. z połączeniami jest wszystko ok ponieważ w pętli głównej normalnie gaszę diode jeśli tam umieszczę odpowiedni kod. Po prostu nie wywołuje się przerwanie. Nie mam innych pomysłów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=146">DidekxD</a> — 15 lut 2012, o 13:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-14T23:59:31+01:00</updated>
<published>2012-02-14T23:59:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2933#p2933</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2933#p2933"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2933#p2933"><![CDATA[
Ok, posłuchaj <br /><br />- inicjalizację Timera0 masz na 100% dobrą<br />- masz włączone globalne przerwania sei();<br />- masz poprawne makro i wektor przerwania<br /><br />więc to musi działać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> pozostaje prosty sposób do sprawdzenia i aż się dziwię że go nie sprawdzasz<br /><br />zakomentuj wszystko inne w programie poza inicjalizacją timera, pinu diody itp - i obserwuj co się dzieje - nie ma że boli to musi działać - a jak zadziała to włączaj sekcjami pozostałe rzeczy po kawałku i dojdziesz od którego miejsca przestaje działać - i już złapiesz byka za rogi <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> — 14 lut 2012, o 23:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DidekxD]]></name></author>
<updated>2012-02-14T23:23:37+01:00</updated>
<published>2012-02-14T23:23:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2932#p2932</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2932#p2932"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2932#p2932"><![CDATA[
Dziękuje za luźną uwagę. Wezmę sobie ją do serca <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Dioda jest dobra. A wiem to stąd iż wymieniam czasem ją na zwykła święcącą diode np. zielona. Patrze sobie jak się świeci ^ ^' czy miga i jak miga itd itp <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Spróbowałem na innym porcie i to samo. Dioda nie gaśnie. Aczkolwiek jeśli spróbuje to zrobić np w funkcji main() to działa bez problemu<br /><br />Połączenie powinno być dobre ponieważ to samo tylko na timerze1 w trybie CTC  działa bez problemu.<br /><br />Nie wiem czy wspomniałem ale w tym przerwaniu chce nadawać sygnał nośny do odbiornika IR. żeby nie rozpędzać do takich prędkości Timera1 jak to wcześniej robiłem bo potem nie wygodnie mi się czasy wpisywało. Duże sumy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=146">DidekxD</a> — 14 lut 2012, o 23:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-14T23:08:08+01:00</updated>
<published>2012-02-14T23:08:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2930#p2930</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2930#p2930"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2930#p2930"><![CDATA[
No inicjalizacja timer0 wygląda dobrze - a sprawdzał kolega tak prozaiczne przyczyny jak:<br /><br />1. uszkodzona dioda LED na PC1 ?<br />2. złe połączenie ?<br /><br />Może spróbować na innym całkiem pinie zapalić inną diodę LED - daj znać OK ?<br /><br />a swoją drogą to sei() daje się tuż przed startem pętli głównej w main() a nie gdzieś i to w środku inicjalizacji timerów i różnych przerwań (ale to nie ma oczywiście wpływu na opisywany problem - taka tylko luźna uwaga)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 14 lut 2012, o 23:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DidekxD]]></name></author>
<updated>2012-02-14T21:55:16+01:00</updated>
<published>2012-02-14T21:55:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2927#p2927</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2927#p2927"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2927#p2927"><![CDATA[
Plik w którym dokonuje inicjalizacji Timerów<br /><br />[syntax=c]/*<br /> * timery.c<br /> *<br /> *  Created on: 2012-02-07<br /> *      Author: Didek xD<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &quot;avr/interrupt.h&quot;<br /><br />#include &quot;timery.h&quot;<br /><br />void Timery_init()<br />{<br />/************* PROGRAMOWE TIMERY ***************/<br />TCCR2 |= (1&lt;&lt;WGM21);// tryb CTC<br />TCCR2 |= (1&lt;&lt;CS20)|(1&lt;&lt;CS21)|(1&lt;&lt;CS22); // Preskaler 1024<br />//TCCR2 |= (1&lt;&lt;CS21);// 8<br />OCR2 = 78; // Przerwanie porównania co 10ms (100Hz) 78 / 27 (35714 HZ) | 14 (71 428)<br />TIMSK |= (1&lt;&lt;OCIE2);// Odblokowanie przerwania CompareMatch<br />sei();// Zezwolenie na wykonywanie przerwań<br />/************* KONIEC ***************/<br /><br />/***************   PWM STRZETOWY (TIMER1)  ************/<br />// ustawienie piny PB3 na stan wyjściowy<br />DDRB |= (1&lt;&lt;PB1);<br />// timer 2 na tryb pwm fast<br />TCCR1A |= (1&lt;&lt;WGM10);<br />TCCR1B |= (1&lt;&lt;WGM12);<br />TCCR1A |= (1&lt;&lt;COM1A1);<br />TCCR1B |= (1&lt;&lt;CS10);<br />/*************   KONIEC   ****************/<br /><br />// timer0 <br />TCCR0 |= (1&lt;&lt;CS01);<br />TCNT0 = 241;<br />TIMSK |= (TOIE0);<br />}<br /><br />ISR(TIMER2_COMP_vect)<br />{<br />uint16_t x;<br />x = Timer1;// 100Hz Timer1(100 HZ)<br />if (x) Timer1 = --x;<br />x = Timer2;// 100Hz Timer2(100 HZ)<br />if (x) Timer2 = --x;<br />x = Timer3;// 100Hz Timer2(100 HZ)<br />if (x) Timer3 = --x;<br />x = Timer4;// 100Hz Timer2(100 HZ)<br />if (x) Timer4 = --x;<br />x = Timer5;// 100Hz Timer2(100 HZ)<br />if (x) Timer5 = --x;<br />}<br /><br />//  Timer0 Przerwanie od przepełnienia około 72 000 razy na sekunde<br />ISR(TIMER0_OVF_vect)<br />{<br />TCNT0 = 241;    // inicjalizacja licznika<br />PORTC |= (1&lt;&lt;PC1);  // zgaś diode<br />//if(!Timer3)// Nadawanie sygnału 10 razy na sekunde<br />//{<br />//if(!Timer4)<br />//{<br />//Timer3=8;<br />//Timer4=10;<br />//}<br />////PORTC &amp;= ~(1&lt;&lt;PC1);<br />////PORTC |= (1&lt;&lt;PC1);<br />//}<br />}<br />[/syntax]<br /><br /><br />main.c<br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 2012-02-04<br /> *      Author: Didek xD<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br /><br />#include &quot;Timery/timery.h&quot;<br /><br />#define S1 (1&lt;&lt;PC0)<br /><br />static uint8_t kierunek, my_pwm;<br />void Spwm_wysterowanie(void);// petle<br />void GuzikPWM(void);// deklarazja guzika<br /><br />int main(void)<br />{<br />Timery_init(); // inicjalizacja programowych timerów<br /><br />// guzik<br />DDRC &amp;= ~(1&lt;&lt;PC0);// Ustawienie pinu na wejście<br />PORTC |= (1&lt;&lt;PC0);// pull up<br /><br />// dioda nadawcza<br />DDRC |= (1&lt;&lt;PC1);// Ustawienie pinu na wyjście<br />PORTC &amp;= ~(1&lt;&lt;PC1);// masa<br /><br />/* ustawienie przerwania zewnętrznego INT0 */<br />MCUCR |= (2&lt;&lt;ISC01);   // zbocze opadające<br />GICR |= (1&lt;&lt;INT0);// ustawienie przerwania INT0<br />PORTD |= (1&lt;&lt;PD2);// Pull up<br /><br /><br />/********** GŁÓWNA PĘTLA PROGRAMU ************/<br />while(1)<br />{<br />GuzikPWM();// obsługa guzika<br />Spwm_wysterowanie(); // pwm<br /><br />if(!Timer5)// sprawdzamy czy sygnał cały czas dociera do odbiornika<br />{<br />if(!kierunek)<br />{<br />//kierunek=1;<br />}<br />}<br />}<br />/********** KONIEC **********/<br /><br />}<br /><br />void GuzikPWM()// obsługa guzika<br />{<br />if(!(PINC &amp; S1))<br />{<br />if(!Timer2)<br />{<br />Timer2=50;<br />if(kierunek)<br />{<br />kierunek=0;<br />} else kierunek=1;<br />}<br />}<br />}<br /><br />void Spwm_wysterowanie()// wysterowanie PWM<br />{<br />      if( !Timer1 ) {<br />         if( kierunek ) {<br />            if( my_pwm &lt; 255 )<br />            {<br />            my_pwm++;<br />            OCR1A=my_pwm;<br />            }<br />         }<br />         else if( my_pwm &gt; 0 )<br />            {<br />            my_pwm--;<br />            OCR1A=my_pwm;<br />            }<br /><br />         Timer1=5;<br />      }<br />}<br /><br />ISR(INT0_vect) // odebrany sygnał z odbiornika IR<br />{<br />Timer5=330;// jeśli sygnał odebrany odnawiamy wartość Timer5<br />}<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=146">DidekxD</a> — 14 lut 2012, o 21:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2012-02-14T21:36:03+01:00</updated>
<published>2012-02-14T21:36:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2926#p2926</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2926#p2926"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2926#p2926"><![CDATA[
Programiści też się nie buntują.<br />Tylko popełniają błędy  <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=189">MirkoT</a> — 14 lut 2012, o 21:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-14T21:10:58+01:00</updated>
<published>2012-02-14T21:10:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2925#p2925</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2925#p2925"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2925#p2925"><![CDATA[
No to musisz pokazać większą część kodu - bo z tego nie widać gdzie zrobiłeś babola.<br /><br />Przy okazji - timery się nie buntują - buntują się programiści <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> — 14 lut 2012, o 21:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DidekxD]]></name></author>
<updated>2012-02-14T21:00:21+01:00</updated>
<published>2012-02-14T21:00:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2924#p2924</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2924#p2924"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2924#p2924"><![CDATA[
sei() jest tylko w innej części kodu i zapomniałem wspomnieć o tym xP <br />Dodam że korzystam z timera1 jako pwm i timera2 który wykorzystałem do liczników programowych. No i działają normalnie <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=146">DidekxD</a> — 14 lut 2012, o 21:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-14T20:53:08+01:00</updated>
<published>2012-02-14T20:53:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2923#p2923</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2923#p2923"/>
<title type="html"><![CDATA[Re: Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2923#p2923"><![CDATA[
Taaaa - a globalne zezwolenie na przerwania sei(); to mrówki zjadły ? <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> — 14 lut 2012, o 20:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DidekxD]]></name></author>
<updated>2012-02-14T20:46:56+01:00</updated>
<published>2012-02-14T20:46:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2922#p2922</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2922#p2922"/>
<title type="html"><![CDATA[Przerwanie od przepełnienia Atmega8]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=848&amp;p=2922#p2922"><![CDATA[
Witam mam głupi kłopot. Zbuntował mi się Timer0 i nie dokonuje mi przerwań od przepełnienia OVF czyż bym o czymś zapomniał ?<br /><br />[syntax=c]TCCR0 |= (1&lt;&lt;CS01);<br />TCNT0 = 241;<br />TIMSK |= (TOIE0);[/syntax]<br /><br />[syntax=c]//  Timer0 Przerwanie od przepełnienia około 72 000 razy na sekunde<br />ISR(TIMER0_OVF_vect)<br />{<br />TCNT0 = 241;    // inicjalizacja licznika<br />PORTC |= (1&lt;&lt;PC1);  // zgaś diode<br /><br />}[/syntax]<br /><br />No i nie gasi diodki xP dodam że poza funkcją przerwania gasi się normalnie czyli wychodzi na to że nie wywołuje danego przerwania. <br />Preskaler 8<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=146">DidekxD</a> — 14 lut 2012, o 20:46</p><hr />
]]></content>
</entry>
</feed>