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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-03-14T13:37:18+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=6336&amp;mode</id>
<entry>
<author><name><![CDATA[Bedi]]></name></author>
<updated>2014-03-14T13:37:18+01:00</updated>
<published>2014-03-14T13:37:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74268#p74268</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74268#p74268"/>
<title type="html"><![CDATA[Re: Timer ATmega8A-PU]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74268#p74268"><![CDATA[
Dzięki bardzo Japa;~) że poświeciłeś swój czas żeby mi rozjaśnić sytuacje ,  ale zanim zobaczyłem twój post  znalazłem <br />filmik P.Mirka pt. AVR - wskaźniki, struktury - część 1 <br /><br /><br />I wzorując się na kodzie bo nawet ten sam timer był użyty  udało  mi się wreszcie uruchomić pierwszy Timer <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2806">Bedi</a> — 14 mar 2014, o 13:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-03-14T12:56:03+01:00</updated>
<published>2014-03-14T12:56:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74266#p74266</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74266#p74266"/>
<title type="html"><![CDATA[Re: Timer ATmega8A-PU]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74266#p74266"><![CDATA[
Japa;~) --&gt; fajnie wyjaśnione , więc ja już nie będę pisał ... dzięki <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 mar 2014, o 12:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Japa;~)]]></name></author>
<updated>2014-03-14T12:43:28+01:00</updated>
<published>2014-03-14T12:43:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74265#p74265</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74265#p74265"/>
<title type="html"><![CDATA[Re: Timer ATmega8A-PU]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74265#p74265"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Jak Powinno wyglądać uruchomienie timera w ATmega8A?<br /></div><br /><br />Może przedstawię to na kodzie którego sam używam.<br /><br />[syntax=c]/* Timer2 – inicjalizacja przerwania co 10ms */<br />TCCR2 |= (1&lt;&lt;WGM21);// tryb pracy CTC <br />TCCR2 |= (1&lt;&lt;CS22)|(1&lt;&lt;CS21)|(1&lt;&lt;CS20);// preskaler = 1024<br />OCR2 = 78;// przerwanie porównania co 10ms (100Hz)  1/ <br />TIMSK |= (1&lt;&lt;OCIE2);// Odblokowanie przerwania CompareMatch  2/[/syntax]<br /><br />1/ Do tego momentu masz wszystko dobrze.<br />2/ Hmm dlaczego w tej linijce w nawiasach wpisałeś &quot;OCIE1A&quot;? Jak on nawet nie należy do timera 8 bitowego tylko 16 bitowego.<br />    Może nie uważnie czytałeś książkę, tego nie wiem. Ale otwórz ją na stronie 199, ostatni akapit, drugie zdanie. Jest tam jasno napisane: <br />    &quot;<em>Zauważ, że część bitów przedstawiona jest na szaro. Oznacza to, że te bity nie dotyczą Timer0 (u nas to Timer2), który właśnie jest      opisywany. Mamy zatem do dyspozycji tylko dwa bity - OCIE0 (u nas to OCIE2) oraz...</em>&quot;.<br /><br />Nie zauważyłem u Ciebie takiego fragmentu:<br />[syntax=c]ISR(TIMER2_COMP_vect)<br />{<br />uint16_t n;  1/<br /><br />n = Timer1;/* 100Hz Timer1 */  2/<br />if (n) Timer1 = --n; 3/<br />n = Timer2;/* 100Hz Timer2 */<br />if (n) Timer2 = --n;<br />}[/syntax]<br />To ten fragment odpowiada za tak &quot;fajne&quot; działanie przerwań.  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />1/ Zmienna pomocnicza na której są wykonywane obliczenia<br />2/ Jeżeli gdzieś w programie (ale o tym później) przypiszesz tej zmiennej (<strong>Timer1</strong>) jakąś wartość to jest także oddawana zmiennej <strong>n</strong>.<br />3/ I tutaj jest warunek. Jeżeli zmienna <strong>n</strong> jest różna od zera wykonuje się działanie <strong>--n</strong>, czyli odejmowane jest 1 od zmiennej <strong>n</strong> i następnie przypisanie do <strong>Timer1</strong>.<br /><br />A teraz kod który u Ciebie mógłby zmieniać stan diody LED na przeciwny co określony czas.<br />[syntax=c]if( !Timer1 ) 1/<br />    {<br />     LED_TOG;<br />     Timer1 = x;<br />    }[/syntax]<br /><br />1/ Tutaj sprawdzany jest warunek czy zmienna Timer1 jest równa 0, jeżeli tak to wykonają się następujące rzeczy. <br /><strong>LED_TOG;</strong> - dioda zmieni stan na przeciwny i <br /><strong>Timer1 = x;</strong> - do zmiennej Timer1 zostanie przypisana dowolna wartość (w miejsce x) wpisana przez Ciebie. <br /><br />I później za każdym obiegiem programu jest sprawdzana ta wartość czy już osiągnęła 0, jeśli nie, nic się nie dzieje.<br /><br />Aa i jeszcze jedno, z racji tego, że do przerwania dochodzi co 10ms (100Hz), to aby dioda migała co 1s w zmienną Timer1 trzeba wpisać 100.<br />100*10=1000ms = 1s<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3458">Japa;~)</a> — 14 mar 2014, o 12:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bedi]]></name></author>
<updated>2014-03-14T12:19:38+01:00</updated>
<published>2014-03-14T12:19:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74263#p74263</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74263#p74263"/>
<title type="html"><![CDATA[Re: Timer ATmega8A-PU]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74263#p74263"><![CDATA[
Zapamiętałem że w kodzie było użyte na189str a nie pamiętałem że na 190str jest adnotacja że użył Pan tylko po to by było przejrzyściej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2806">Bedi</a> — 14 mar 2014, o 12:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-03-14T12:10:32+01:00</updated>
<published>2014-03-14T12:10:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74262#p74262</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74262#p74262"/>
<title type="html"><![CDATA[Re: Timer ATmega8A-PU]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74262#p74262"><![CDATA[
<div class="quotetitle">Bedi napisał(a):</div><div class="quotecontent"><br />czemu w programie nie było ustawienia PORTx gdzie podłączamy klawisz nie był ustawiany jako wejście ?<br /></div><br /><br />A w książce piszę o tym wyraźnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... i w nocie PDF można zobaczyć - że wszystkie bity rejestrów DDRx są ustawione na ZERO po resecie - czyli co ? ... czyli wszystkie piny po resecie są i tak już wejściami dlatego nie trzeba jeszcze raz programowo tego ustawiać bo po co ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />wystarczy już tylko podciągnąć do VCC <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 mar 2014, o 12:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bedi]]></name></author>
<updated>2014-03-14T11:44:36+01:00</updated>
<published>2014-03-14T11:44:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74260#p74260</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74260#p74260"/>
<title type="html"><![CDATA[Re: Timer ATmega8A-PU]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74260#p74260"><![CDATA[
P.Mirku  przejrzałem podany link widziałem wcześniej cześć I nie spostrzegłem że już są następne pewnie dlatego że skupiłem się na czytaniu książki czytam już drugi raz, za pierwszym razem już po 230stronie chciałem programować ale stwierdziłem że za szybko się rzucam teraz zakupiłem trochę sprzętu parę mikro kontrolerów i coś tam skubie ale utknąłem na timerach może nie tyle jak je włączyć ale jak je później wykorzystać zamiast  &quot;_delay_ms()&quot;     .  <br /><br />A w programie faktycznie zapomniałem o drganiu styków. Zaznaczam że nie będę korzystał z microswitch a zwykłych wyłączników 230v bistabilny (ON/OFF)  i wydaje mi się żeby nie stosować _delay_ms() drgania rozwiąże sprzętowo.  Co Pan o tym sądzi ? <br /><br />Testując Pana program z Części II O drganiu styków faktycznie działa ale nie na takich klawiszach bistabilnych jedynie na monostabilnych (typu dzwonkowego) lub po prostu microswitch i od razu pytanie czemu w programie nie było ustawienia PORTx gdzie podłączamy klawisz nie był ustawiany jako wejście ? Tylko od razu podciągany do VCC .<br /><br /><br />Poprawiłem program &gt;&gt;&gt;<br /><br /><br />[syntax=c]/*<br /><br />/*<br /> * main.c<br /> *<br /> *  Created on: 12-03-2014<br /> *      Author: MATEUSZ<br /> */<br /><br />#include &lt;avr/io.h&gt;// głowny stystem pliku nagłówkowego<br />#include &lt;avr/interrupt.h&gt;  // obsluga przerwań<br />#include &lt;util/delay.h&gt;<br /><br /><br />// DEFNICJE LED<br /><br /><br />#define LED_PIN (1&lt;&lt;PB0)// pin do którego podłączona jest dioda LED<br />#define LED_ON PORTB |= LED_PIN// ustaw stan wysoki na wysciu pinu - włącz diode LED<br />#define LED_OFF PORTB &amp;= ~LED_PIN   // ustaw stan niski na wyjsciu pinu - wyłącz diode LED<br />#define LED_TOG PORTB ^= LED_PIN   // zmiana stanu na przeciwny<br /><br /><br /><br /><br /><br />// DEFINICJE PRZYCISKÓW<br /><br /><br />// przycisk NO<br /><br />#define KEY_PIN (1&lt;&lt;PD7)// pin do którego podłączony jest klawisz NO-normalnie otwarty<br />#define KEY_NO !(PIND &amp; KEY_PIN)// sprawdzanie czy klawisz NO zwarty<br /><br /><br />//przycisk NC<br />#define KEY_PIN2 (1&lt;&lt;PD6)// pin do którego podłączony jest klawisz NC-noemalnie zwarty<br />#define KEY_NC (PIND &amp; KEY_PIN2)// sprawdzanie czy klawisz NC rozwarty<br /><br /><br /><br /><br />// ZMIENE W CZASIE<br /><br /><br />volatile uint8_t cnt=0;  // zmienna licznika 10ms<br />volatile uint8_t sec_flag;                // flaga tyknięcia Timera0 co 1 sekundę<br />volatile uint8_t sec;                      // licznik sekund 0-59<br />volatile uint8_t min;                      // licznik minut 0-59<br /><br /><br /><br /><br /><br />//************************************ PROGRAM*****************************<br /><br /><br />int main(void)<br /><br />{<br /><br />// ********** DIODA LED**********<br /><br /><br />DDRB |= LED_PIN;   // ustawienie pinu LED jako wyjscie<br />LED_OFF;// wyłączenie diody LED<br /><br /><br />//************ PRZYCISKI****************<br /><br />DDRD &amp;= ~KEY_PIN;  // ustawienie portu jako wejscie dla klawisza NO<br />PORTD |= KEY_PIN;// programowe podciągnięcie do VCC<br /><br /><br />DDRD &amp;= ~KEY_PIN2;// ustawienie portu jako wejscie dla klawisza NC<br />PORTD |= KEY_PIN2;//programowe podciągnięcie do VCC<br /><br /><br /><br /><br /><br /><br /><br />// ******************USTAWIENIE  TIMERA *******************<br /><br /><br />TCCR2 |= (1&lt;&lt;WGM21); // ustawienie trybu pracy timera na CTC<br /><br /><br />TCCR2 |= (1&lt;&lt;CS22) | (1&lt;&lt;CS21) | (1&lt;&lt;CS20);// ustawienie pleskalera na 1024  ( 8 000 000 /1024 = 7812,5Hz<br /><br /><br /><br />OCR2 = 78;// podział przez 78 rejestru porownaia   7812,5/78 = około 100Hz a to odpowiada 10ms<br /><br /><br />TIMSK |= (1&lt;&lt;OCIE1A); // zezwolenie na przerwania COMPARE MATCH<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />//**********************GŁÓWNA PĘTLA***************************<br /><br /><br />sei ();   // globalne zezwolenie na przerwania<br /><br /><br /><br />//*** PĘTLA GŁÓWNA<br /><br />while(1)// powtarzaj program w nieskonczonosć<br /><br /><br /><br />if (KEY_NO | KEY_NC) {                                         // jesli klawisz wciniety to lub rozwarty<br /><br />/// i tu niewiem jak zrobic ze załacz diode np na 3min albo 1sekunde<br /><br /><br />/// znalazłem podobny program &gt;&gt;<br /><br /><br />if(++cnt&gt;99) {                         // gdy licznik ms &gt; 99 (minęła 1 sekunda)<br />              sec_flag= 1;                       // ustaw flagę tyknięcia sekundy<br />              {<br />              sec++;                             // zwiększ licznika sekund o 1<br />              if(sec&gt;59)                         // jeśli ilość sekund &gt; 59 to wyzeruj licznik sekund<br />                      { sec = 0;<br />                      min++;                         // zwiększ licznik minut o 1<br />              if(min&gt;59) {<br />                      min = 0;                       // jeśli ilość minut &gt; 59 to wyzeruj licznik minut<br />                   }<br />                      }<br />              cnt = 0;                           // wyzeruj licznik setnych ms<br /><br /><br /><br /><br /><br /><br />              }<br />}<br /><br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2806">Bedi</a> — 14 mar 2014, o 11:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaka0204]]></name></author>
<updated>2014-03-13T16:53:20+01:00</updated>
<published>2014-03-13T16:53:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74185#p74185</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74185#p74185"/>
<title type="html"><![CDATA[Re: Timer ATmega8A-PU]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74185#p74185"><![CDATA[
<div class="quotetitle">Bedi napisał(a):</div><div class="quotecontent"><br />OCR2 = 312;             // podział przez 312 rejestru porownaia   31250/312= około 100Hz a to odpowiada 10ms<br /> <br />        //przy OCR2= 312; pojawia sie żółty znaczek z informacją &gt;&gt; large integer implicitly truncated to unsigned type<br /></div><br /><br />Jako, że timer jest 8 bitowy to taka też musi być wartość wpisana do rejestru porównania czyli 0-255.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=889">kaka0204</a> — 13 mar 2014, o 16:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-03-13T16:04:26+01:00</updated>
<published>2014-03-13T16:04:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74176#p74176</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74176#p74176"/>
<title type="html"><![CDATA[Re: Timer ATmega8A-PU]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74176#p74176"><![CDATA[
Jeśli zależy ci na razie na prostej, nieskomplikowanej ale za to nieblokującej i dobrej metodzie obsługi klawiszy - to proponuję zaglądaj częściej na mojego bloga a w tym przypadku konkretnym polecam ci to:<br /><br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-drgania-stykow-cd2.html" >http://mirekk36.blogspot.com/2012/10/ob ... w-cd2.html</a><!-- m --><br /><br />sprawdź proszę<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 mar 2014, o 16:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bedi]]></name></author>
<updated>2014-03-13T15:41:05+01:00</updated>
<published>2014-03-13T15:41:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74168#p74168</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74168#p74168"/>
<title type="html"><![CDATA[Re: Timer ATmega8A-PU]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74168#p74168"><![CDATA[
Przeanalizowałem <br /><br />Blue Booka i kod z podobnego programu jaki znalazłem  &gt;&gt;  <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic4366.html" >topic4366.html</a><!-- l --><br /><br />Jednak nadal nie zrozumiałem tych Timerów  ślęczę i próbuję w oparciu o inne kody jednak nadal  nic nie wychodzi<br /><br />Doszedłem  za to jak zrobić przycisk NC  proszę sprawdzić czy tak jest poprawnie <br /><br /><br />Jeszcze jedno testuje wszystko na ATmega8A-PU czy na tym Procku w Timer0 nie ma trybu CTC czy nie zaważyłem w PDF <br /><br />wykorzystałem Timer2 czyli 8bitowy  <br /><br /><br />Głównym celem jest to aby regulować czas potencjometrem np od 30sek do 15min ale na początek muszę chociaż zrozumieć jak obchodzić się z tym Timerem <br /><br /><br />Prosił bym o poprawienie kodu z stosownym komentarzem <br /><br />[syntax=c]/*<br /><br /><br /><br /><br />/*<br /> * main.c<br /> *<br /> *  Created on: 12-03-2014<br /> *      Author: MATEUSZ<br /> */<br /><br />#include &lt;avr/io.h&gt;// głowny stystem pliku nagłówkowego<br />#include &lt;avr/interrupt.h&gt;  // obsluga przerwań<br />#include &lt;util/delay.h&gt;<br /><br /><br />// DEFNICJE LED<br /><br /><br />#define LED_PIN (1&lt;&lt;PB0)// pin do którego podłączona jest dioda LED<br />#define LED_ON PORTB |= LED_PIN// ustaw stan wysoki na wysciu pinu - włącz diode LED<br />#define LED_OFF PORTB &amp;= ~LED_PIN   // ustaw stan niski na wyjsciu pinu - wyłącz diode LED<br />#define LED_TOG PORTB ^= LED_PIN   // zmiana stanu na przeciwny<br /><br /><br /><br /><br /><br />// DEFINICJE PRZYCISKÓW<br /><br /><br />// przycisk NO<br /><br />#define KEY_PIN (1&lt;&lt;PD7)// pin do którego podłączony jest klawisz NO-normalnie otwarty<br />#define KEY_NO !(PIND &amp; KEY_PIN)// sprawdzanie czy klawisz NO zwarty<br /><br /><br />//przycisk NC<br />#define KEY_PIN2 (1&lt;&lt;PD6)// pin do którego podłączony jest klawisz NC-noemalnie zwarty<br />#define KEY_NC (PIND &amp; KEY_PIN2)// sprawdzanie czy klawisz NC rozwarty<br /><br /><br /><br /><br />// ZMIENE W CZASIE<br /><br /><br />volatile uint8_t cnt=0;  // zmienna licznika 10ms<br />volatile uint8_t sec_flag;                // flaga tyknięcia Timera0 co 1 sekundę<br />volatile uint8_t sec;                      // licznik sekund 0-59<br />volatile uint8_t min;                      // licznik minut 0-59<br /><br /><br /><br /><br /><br />//************************************ PROGRAM*****************************<br /><br /><br />int main(void)<br /><br />{<br /><br />// ********** DIODA LED**********<br /><br /><br />DDRB |= LED_PIN;   // ustawienie pinu LED jako wyjscie<br />LED_OFF;// wyłączenie diody LED<br /><br /><br />//************ PRZYCISKI****************<br /><br />DDRD &amp;= ~KEY_PIN;  // ustawienie portu jako wejscie dla klawisza NO<br />PORTD |= KEY_PIN;// programowe podciągnięcie do VCC<br /><br /><br />DDRD &amp;= ~KEY_PIN2;// ustawienie portu jako wejscie dla klawisza NC<br />PORTD |= KEY_PIN2;//programowe podciągnięcie do VCC<br /><br /><br /><br /><br /><br /><br /><br />// ******************USTAWIENIE  TIMERA *******************<br /><br /><br />TCCR2 |= (1&lt;&lt;WGM21); // ustawienie trybu pracy timera na CTC<br /><br />TCCR2 |= (1&lt;&lt;CS22) | (1&lt;&lt;CS21) ;// ustawienie pleskalera na 256  ( 8 000 000 /256 = 31250Hz<br /><br />OCR2 = 312;// podział przez 312 rejestru porownaia   31250/312= około 100Hz a to odpowiada 10ms<br /><br />//przy OCR2= 312; pojawia sie żółty znaczek z informacją &gt;&gt; large integer implicitly truncated to unsigned type<br /><br />TIMSK |= (1&lt;&lt;OCIE1A); // zezwolenie na przerwania COMPARE MATCH<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />//**********************GŁÓWNA PĘTLA***************************<br /><br /><br />sei ();   // globalne zezwolenie na przerwania<br /><br /><br /><br />//*** PĘTLA GŁÓWNA<br /><br />while(1)// powtarzaj program w nieskonczonosć<br /><br /><br /><br />if (KEY_NO | KEY_NC) {                                         // jesli klawisz wciniety to lub rozwarty <br /><br />/// i tu niewiem jak zrobic ze załacz diode np na 3min albo 1sekunde<br /><br /><br />/// znalazłem podobny program &gt;&gt;<br /><br /><br />if(++cnt&gt;99) {                         // gdy licznik ms &gt; 99 (minęła 1 sekunda)<br />              sec_flag= 1;                       // ustaw flagę tyknięcia sekundy<br />              {<br />              sec++;                             // zwiększ licznika sekund o 1<br />              if(sec&gt;59)                         // jeśli ilość sekund &gt; 59 to wyzeruj licznik sekund<br />                      { sec = 0;<br />                      min++;                         // zwiększ licznik minut o 1<br />              if(min&gt;59) {<br />                      min = 0;                       // jeśli ilość minut &gt; 59 to wyzeruj licznik minut<br />                   }<br />                      }<br />              cnt = 0;                           // wyzeruj licznik setnych ms<br /><br /><br /><br /><br /><br /><br />              }<br />}<br /><br />}<br />}<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2806">Bedi</a> — 13 mar 2014, o 15:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-03-12T22:07:15+01:00</updated>
<published>2014-03-12T22:07:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74071#p74071</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74071#p74071"/>
<title type="html"><![CDATA[Re: Timer ATmega8A-PU]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74071#p74071"><![CDATA[
<div class="quotetitle">Bedi napisał(a):</div><div class="quotecontent"><br />Czy może mi ktoś w skrócie objaśnić co i jak  czytam już drugi raz blue booka ale timera jeszcze nie potrafię stosować<br /></div><br />Otwórz  BlueBook-a rozdział 5.4 Multipleksowanie led - przerwania to powinno rozjaśnić temat.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 12 mar 2014, o 22:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaka0204]]></name></author>
<updated>2014-03-12T21:58:35+01:00</updated>
<published>2014-03-12T21:58:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74066#p74066</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74066#p74066"/>
<title type="html"><![CDATA[Re: Timer ATmega8A-PU]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74066#p74066"><![CDATA[
Poczytaj o timerach programowych. Strona 406 BB.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=889">kaka0204</a> — 12 mar 2014, o 21:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bedi]]></name></author>
<updated>2014-03-12T21:42:17+01:00</updated>
<published>2014-03-12T21:42:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74060#p74060</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74060#p74060"/>
<title type="html"><![CDATA[Timer ATmega8A-PU]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6336&amp;p=74060#p74060"><![CDATA[
Witam <br /><br /><br />Jak Powinno wyglądać uruchomienie timera w ATmega8A <br /><br />chodzi mi o to jak zastępować timerem <br /><br />_delay_ms();<br /><br />żeby migać diodą na porcie PC5 <br />i drugą z innym czasem na PD5 <br /><br />i inne zastosowania <br /><br /><br />Czy może mi ktoś w skrócie objaśnić co i jak  czytam już drugi raz blue booka ale timera jeszcze nie potrafię stosować a dopiero teraz trenuje w praktyce na ATmega8A-PU<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2806">Bedi</a> — 12 mar 2014, o 21:42</p><hr />
]]></content>
</entry>
</feed>