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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-11-11T15:11:12+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=13513&amp;mode</id>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2015-11-11T15:11:12+01:00</updated>
<published>2015-11-11T15:11:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145078#p145078</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145078#p145078"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145078#p145078"><![CDATA[
Witam<br /><div class="quotetitle">masterix napisał(a):</div><div class="quotecontent"><br />... wiec jeżeli ja zeruje to przerywam prace minutnika prawda?<br /></div><br />...jeśli tak mówisz, to pewnie tak jest.<br />k.k.<strong> SylwekK i rskup</strong> już pisali o mało czytelnym kodzie i sposobie pisania - bez komentarzy i tak &quot;jednym ciurkiem&quot; ciężko patrzeć; dodatkowo na ekranie ECLIPSA same czerwone robaczki bo brakuje def_fun_glo.h. Nie każę go podawać ale tak cieżko - ja popatrzyłem co dzieje się &quot;po wybuchu&quot; i tylko to zauważyłem.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 11 lis 2015, o 15:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[masterix]]></name></author>
<updated>2015-11-11T13:53:40+01:00</updated>
<published>2015-11-11T13:53:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145061#p145061</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145061#p145061"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145061#p145061"><![CDATA[
SS_L to flaga która uruchamia przerwanie związane z minutnikiem. wiec jeżeli ja zeruje to przerywam prace minutnika prawda?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9423">masterix</a> — 11 lis 2015, o 13:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2015-11-10T23:09:58+01:00</updated>
<published>2015-11-10T23:09:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145022#p145022</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145022#p145022"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145022#p145022"><![CDATA[
Witam<br />Nie wiem co to jest, ale po &quot;wybuchu&quot; zerujesz<br />[syntax=c]SS_L = 0;[/syntax]<br />Może ono za coś odpowiada. <br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 10 lis 2015, o 23:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[masterix]]></name></author>
<updated>2015-11-10T20:09:38+01:00</updated>
<published>2015-11-10T20:09:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145007#p145007</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145007#p145007"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145007#p145007"><![CDATA[
Ale kolejny problem którego jednak nie udało mi się rozwiązać.. Jak zauważyliście robię projekt bomby. Sęk w tym ze jest mały problem.. A mianowicie podaje czas i kod potem zaczyna się odliczanie i kabuuuum jeżeli nie wpiszemy kodu i super bomba rozbrojona jak kod udało się wpisać. Jak rozbroimy to pięknie i można tak w kółko.. Ale jak wybuchnie to przy następnym ustawieniu wszystkiego i próbie rozbrojenia nawet gdy rozbroimy ładunek to zamiast wrócić do menu głównego to załącza się funkcja eksplozja i wszystko się na tym wiesza i tylko ON/OFF pomaga.. jakieś pomysły? Bo w sumie wczoraj mi to wszystko śmigało a dzisiaj taka heca i nie wiem jak sobie poradzić z tym.. do funkcji tej można dojść tylko jak czas się skończy w odliczaniu i po wpisaniu złego kodu.. wiec nie wiem skąd to się bierze<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9423">masterix</a> — 10 lis 2015, o 20:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[masterix]]></name></author>
<updated>2015-11-10T19:01:46+01:00</updated>
<published>2015-11-10T19:01:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145001#p145001</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145001#p145001"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=145001#p145001"><![CDATA[
Używam funkcji <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> tylko że w main mam obsługę klawiatury która w tym while musi być <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> i te wszystkie warunki odnośnie klawiszy musza być w tym miejscu bo inaczej ich nie wychwytuje.. a co do klamerek to zaraz przeanalizuje sobie wszystko <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><br /><br />dziękuje rzeczywiście brakło klamerki <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=9423">masterix</a> — 10 lis 2015, o 19:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2015-11-10T18:30:10+01:00</updated>
<published>2015-11-10T18:30:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144999#p144999</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144999#p144999"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144999#p144999"><![CDATA[
Przydałoby się przy tak rozrastającym się kodzie zacząć korzystać z tworzenia funkcji a nie wrzucać wszystko do main(). To bardzo ułatwia pisanie i późniejszą analizę.<br /><br /><span style="color: #FF8000">EDIT</span>: Oraz nie stosować w C polecenia goto ...<br /><br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 10 lis 2015, o 18:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2015-11-10T18:26:21+01:00</updated>
<published>2015-11-10T18:26:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144997#p144997</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144997#p144997"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144997#p144997"><![CDATA[
Ręki nie dam, ale pewnie jakiejś klamry nie zamknąłeś, sprawdź to. Ja dla lepszej czytelności przy większym kodzie opisuje sobie komentarzami ważniejsze bloki, np.:<br />[syntax=c]if (coś tam)<br />   {  // start &quot;coś tam&quot;<br />    .<br />    .<br />    .<br />   } // end &quot;coś tam&quot;[/syntax]<br /><br />...lub podobnie zależnie od kontekstu i czynności jakie warunek wykonuje. To naprawdę bardzo pomaga w odszukaniu ewentualnego błędu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 10 lis 2015, o 18:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[masterix]]></name></author>
<updated>2015-11-10T18:05:20+01:00</updated>
<published>2015-11-10T18:05:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144988#p144988</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144988#p144988"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144988#p144988"><![CDATA[
Ok mam problem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> bo zmieniłem to żeby w przerwaniu był tylko znacznik a reszta minutnika była pętli głównej. Wszystko było ok a teraz wyskakuje mi taki oto błąd odnośnie przerwania... Miał ktoś kiedyś styczność z czyms takim ?<br /><br />../praca_dyp_beta.c:337: error: static declaration of '__vector_10' follows non-static declaration<br />../praca_dyp_beta.c:337: error: previous declaration of '__vector_10' was here<br />../praca_dyp_beta.c:356: error: expected declaration or statement at end of input<br /><br />mój główny plik programu :<br /><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 /><br />#include &quot;def_fun_glo.h&quot;<br /><br /><br />int main(void)<br />{<br /><br />LCD_Initalize();// inicjacja wyświetlacza<br />_delay_ms(100);<br />timer0_init();<br />KB_PORT;<br />KB_PUL_UP;<br />BUZ_SYR_KRAW_LED;<br />sei();//WŁĄCZENIE PRZERWAŃ GLOBALNYCH<br /><br /><br />unsigned char upperNibble, keyPressed, i;<br /><br />//--EKRAN STARTOWY----------<br /><br />LCD_WriteText(&quot; LADUNEK   &quot;);<br />LCD_GoTo(2,1);<br />LCD_WriteText(&quot;   WYBUCHOWY &quot;);<br />_delay_ms(2000);<br /><br />//---MENU GLOWNE-------------<br /><br />LCD_Clear();<br /><br />main_LCD();<br /><br /><br />//----------------------------<br />while(1)// pętla główna z obsługą klawiatury<br />{upperNibble = 0xff;<br /><br /> for(i=0; i&lt;4; i++)<br /> {<br />  _delay_ms(1);<br /> KB_PORT_OUT = ~(0x01 &lt;&lt; i);<br /> _delay_ms(1);                    //Opóźnienie<br />  <br />  upperNibble = KB_PORT_IN | 0x0f;<br /><br />if (upperNibble != 0xff)<br /><br />{ _delay_ms(20);                                //Opóźnienie  dla niwelacji drgań<br /> upperNibble = KB_PORT_IN | 0x0f;<br />  if(upperNibble == 0xff) goto OUT;<br />  <br />  keyCode = (upperNibble &amp; 0xf0) | (0x0f &amp; ~(0x01 &lt;&lt; i));<br />  <br /> while (upperNibble != 0xff)<br />  upperNibble = KB_PORT_IN | 0x0f;<br />  _delay_ms(20);                          //opóźnienie dla niwelacji drgań<br />   <br />    switch (keyCode)                        //Znaki wyświetlane na LCD<br /> { <br /> case (0xee): keyPressed = '1'; cyfra=1;pomoc++;  <br /><br /><br />break;<br /><br />case (0xed): keyPressed = '2'; cyfra=2; pomoc++; <br />break;<br /><br />case (0xeb): keyPressed = '3'; cyfra=3; pomoc++; <br />break;<br /><br />case (0xe7): keyPressed = 'A';<br />break;<br /><br />case (0xde): keyPressed = '4'; cyfra=4; pomoc++; <br />break;<br /><br />case (0xdd): keyPressed = '5'; cyfra=5; pomoc++;<br />break;<br /><br />case (0xdb): keyPressed = '6'; cyfra=6; pomoc++; <br />break;<br /><br />case (0xd7): keyPressed = 'B';<br />break;<br /><br />case (0xbe): keyPressed = '7'; cyfra=7; pomoc++; <br />break;<br /><br />case (0xbd): keyPressed = '8'; cyfra=8; pomoc++; <br />break;<br /><br />case (0xbb): keyPressed = '9'; cyfra=9; pomoc++; <br />break;<br /><br />case (0xb7): keyPressed = 'C';     <br />break;<br /><br />case (0x7e): keyPressed = '*';<br />break;<br /><br />case (0x7d): keyPressed = '0'; cyfra=0; pomoc++; <br />break;<br /><br />case (0x7b): keyPressed = '#';<br />break;<br /><br />case (0x77): keyPressed = 'D';<br />break;<br /><br />default    : keyPressed = 'X';<br />break;<br /><br /><br />}//Koniec klawiszy --<br /><br />if(LCD_klaw==true) LCD_WriteData(keyPressed); // zezwolenie na wysyłanie do LCD<br />//==============================================================================================================<br />if (min_flaga==true)// zapis minut<br />{  <br />if(tA==true) kod_flaga=true;<br />if(tB==true) kod_flaga2=true;<br />if(tC==true) kod_flaga2=true;<br />if( pomoc == 1)C1 = cyfra;<br />if( pomoc == 2) C2 = cyfra; <br />if(pomoc &gt;= 2)<br />{ LCD_klaw = 0;  <br />if (keyCode == 0x7e )<br />{<br />LCD_klaw = false; PodajKod();}<br />}<br />}<br /><br />//==============================================================================================================<br />if(stan == 1 )// obsługa menu na klawiaturze i przechodzenie do odpowiednich trybów<br />{<br />if (keyCode==0xe7) { TrybA();}<br />else if (keyCode==0xd7) { TrybB();}<br />else if (keyCode==0xb7) { TrybC();}<br />}else if( stan == 2)<br />{ if (keyCode==0x77) {main_LCD(); }<br /><br /><br />//===============================================================================================================<br />if (kod_flaga==true)// zapis kodu DO USTAWIENIA<br />{  <br />if( pomoc == 1)K1 = cyfra;<br />if( pomoc == 2) K2 = cyfra;<br />if( pomoc == 3)K3 = cyfra;<br />if( pomoc == 4) K4 = cyfra; <br />if(pomoc &gt;= 4) <br />{LCD_klaw = 0;  <br />if ( keyCode == 0x7e ){LCD_klaw = 0;   kod_or_blow(); }<br />}<br />}<br /><br />/* if(kod_flaga2 == true) //jeśli wybrano tryb B lub C<br />{<br />if( pomoc == 1)K1 = cyfra;<br />if( pomoc == 2) K2 = cyfra;<br />if( pomoc == 3)K3 = cyfra;<br />if( pomoc == 4) K4 = cyfra; <br />if(pomoc &gt;= 4) <br />{LCD_klaw = 0;  <br />if ( keyCode == 0x7e ){LCD_klaw = false;kod_flaga2 = false;   PodajKod2(); }<br />}<br />}<br /> if(kod_flaga3 == true) //jeśli wybrano tryb B lub C<br />{<br />if( pomoc == 1)Z1 = cyfra;<br />if( pomoc == 2) Z2 = cyfra;<br />if( pomoc == 3)Z3 = cyfra;<br />if( pomoc == 4) Z4 = cyfra; <br />if(pomoc &gt;= 4) <br />{LCD_klaw = 0;  <br />if ( keyCode == 0x7e ){LCD_klaw = 0;   kod_or_blow(); }<br />}<br />} */<br />//================================================================================================================<br /><br /><br /><br />if (kod_roz_flag==true)// zapis kodu rozbrojenia<br />{  <br />if(keyCode==0x77) eksplozja();<br />if( pomoc == 1)R1 = cyfra;<br />if( pomoc == 2) R2 = cyfra;<br />if( pomoc == 3)R3 = cyfra;<br />if( pomoc == 4) R4 = cyfra; <br />if(pomoc &gt;= 4) <br />{LCD_klaw = false; <br />if (K1 == R1 &amp;&amp; K2 == R2 &amp;&amp; K3 == R3 &amp;&amp; K4 == R4 )<br />{if ( keyCode == 0x7e ){LCD_klaw = 0;  rozbrojenie();}<br />}else  if (K1 != R1 || K2 != R2 || K3 != R3 || K4 != R4 )<br />{if ( keyCode == 0x7e ){LCD_klaw = 0;  eksplozja();}<br />}<br /><br />}<br /><br /><br /><br />//===================================================================================================<br /><br /><br /><br /><br /><br /> OUT:;<br /><br /><br />                  }//koniec if-a <br /><br /><br />                }//koniec for-ki  <br />if(roz==true)<br />{<br />roz=false;<br />bum=false;<br />BUZ_ON_OFF;<br />_delay_ms(200);<br />BUZ_ON_OFF;<br />_delay_ms(200);<br />BUZ_ON_OFF;<br />_delay_ms(200);<br />BUZ_ON_OFF;<br /><br />_delay_ms(2000);}<br /><br />if(bum==true)<br />{<br />bum=false;<br />_delay_ms(100);<br />SYRENA_ON; <br />LED_MRUG;<br />_delay_ms(500);<br />LED_MRUG;<br />LED_MRUG;<br />_delay_ms(500);<br />LED_MRUG;<br />_delay_ms(3000);<br />SYRENA_ON; <br />}<br /><br /><br /><br /><br />if(SS_L2==1)<br />{<br /><br />if(SS_L == 1)<br />{<br />SS_L2=0;<br />LED_MRUG;<br />_delay_ms(250);<br />LED_MRUG;<br /><br />BUZ_ON_OFF;<br />_delay_ms(100);<br />BUZ_ON_OFF;<br /><br /><br /><br />itoa(C1, C1W,10);<br />itoa(C2, C2W,10);<br />itoa(C3, C3W,10);<br />itoa(C4, C4W,10);<br />LCD_GoTo(9,0);<br />LCD_WriteText(C1W);<br />LCD_GoTo(10,0);<br />LCD_WriteText(C2W);<br />LCD_GoTo(12,0);<br />LCD_WriteText(C3W);<br />LCD_GoTo(13,0);<br />LCD_WriteText(C4W);<br />}<br /><br /><br /><br />        if (C4 &gt; 0) {C4--;  }         <br />       <br />    if (C4 == 0 &amp;&amp; C3&gt; 0 )<br />        {            <br />                C3--;<br />                C4 = 9;<br /><br />        }<br />if(C3==255) C3=9;<br />        if((C4 == 0 &amp;&amp; C3 == 0) &amp;&amp; C2 &gt; 0)<br />        { C2--;<br />                C3 = 5;<br />                C4 =9;<br /><br />        }<br /><br />        if((C4 == 0 &amp;&amp; C3 == 0) &amp;&amp; (C2 == 0 &amp;&amp; C1 &gt; 0) )<br />        {<br />              C1--;<br />                C2 = 9;<br />                C3 = 5;<br />                C4 = 9;<br /><br />        }<br />if((C4 == 0 &amp;&amp; C3 == 0) &amp;&amp; (C2 == 0 &amp;&amp; C1 == 0) ) <br />{eksplozja();<br />SS_L = 0;<br />}<br />       <br />}<br /><br />}<br /><br /><br /><br />}<br />}<br /><br /><br />//===========inicjacja przerwania=====================<br /><br /><br /><br /><br />void timer0_init(void)<br />{<br />TCCR0 |= (1&lt;&lt;WGM01);    // TIMER0 tryb CTC<br />TCCR0 |= (1&lt;&lt;CS02) | (1&lt;&lt;CS00);  // ustawienie preskalera<br />OCR0 = 156;<br />TIMSK |= (1&lt;&lt;OCIE0);<br />}<br /><br /><br /><br /><br />//---------------------------PROCEDURA OBSŁUGI PRZERWANIA------------<br /><br />ISR(TIMER0_COMP_vect)  // błąd wskazuje w to miejsce<br />{<br />static uint16_t licznik =1;<br /><br />licznik++;<br />if(wpisKOD==1) LCD_GoTo(10,1);<br /><br /><br /><br /><br />if(licznik &gt; 99 &amp;&amp; SS_L==1 )<br />{<br />SS_L2 = 1;<br /><br /><br />}<br /><br />if (licznik == 100) licznik = 0;<br /><br />}[/syntax]<br /><br /><br />I Jeżeli miałby ktoś jakieś zastrzeżenia do kodu pod względem programowania i podejścia do niego to proszę o krytykę (konstruktywną) bardziej zaawansowanych by dążyć do  perfekcji <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=9423">masterix</a> — 10 lis 2015, o 18:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2015-11-09T08:44:11+01:00</updated>
<published>2015-11-09T08:44:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144879#p144879</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144879#p144879"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144879#p144879"><![CDATA[
A nie prościej by było zrobić w przerwaniu jeden licznik odliczający w dół co sekundę, a w pętli głównej dla otrzymania wyniku mm:ss odpowiednio formatować dla potrzeb wyświetlania? Weźmy, np. wartość takiego licznika ma 3400, kiedy podzielimy na 60 to w wyniku będzie 56 i jakaś reszta, ale wiadomo już, że to 56 to minuty. Analogicznie można to zrobić dla pełnych godzin. Przerwania w takim rozwiązaniu właściwie będą się nudzić, a kod będzie ładniej wyglądał.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 9 lis 2015, o 08:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2015-11-09T09:06:17+01:00</updated>
<published>2015-11-09T07:19:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144878#p144878</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144878#p144878"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144878#p144878"><![CDATA[
Witam<br /><div class="quotetitle">masterix napisał(a):</div><div class="quotecontent"><br />Niestety warunek<br />[syntax=c]if(C3==255) C3=9;[/syntax]<br />nie działa..<br /></div><br />Pokaż jak to robisz, bo ja Ci pokazałem w jaki sposób można to obejść, ale nie jedną linijką.<br />To taki zapis skrótowy.<br />A może zamiast takiego wyliczania zastosuj liczenie sekund, od nich liczenie minut; C &quot;minutowe&quot; liczyć za pomocą modulo od sekund.<br /><br />edit:<br />... no właśnie kol.<strong>SylwekK</strong> też to zasugerował, tylko bardziej czytelnie  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 9 lis 2015, o 07:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[masterix]]></name></author>
<updated>2015-11-08T23:31:42+01:00</updated>
<published>2015-11-08T23:31:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144873#p144873</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144873#p144873"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144873#p144873"><![CDATA[
Ok <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> dziękuje <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> tak zrobię <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> miejmy nadzieje że zmiana typu nie zawadzi w reszcie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Dziękuje za szybką odpowiedź <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />----<br />Niestety warunek [syntax=c]if(C3==255) C3=9;[/syntax] nie działa.. a jak zmienie typ zmiennej to mi się minus wpierdziela.. <br />a mnożenie przez -1 nic nie daje..<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9423">masterix</a> — 8 lis 2015, o 23:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2015-11-08T22:09:23+01:00</updated>
<published>2015-11-08T22:09:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144871#p144871</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144871#p144871"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144871#p144871"><![CDATA[
Zastosuj zamiast zmiennych bez znaku uint8_t zmienne ze znakiem int8_t a w warunku dajesz np. c3 &gt;= 0 i już zero nie będzie pomijane.<br />Pamiętaj tylko, że np. zmienna int8_t ma zakres od -128 do 127.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 8 lis 2015, o 22:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2015-11-08T22:04:02+01:00</updated>
<published>2015-11-08T22:04:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144870#p144870</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144870#p144870"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144870#p144870"><![CDATA[
...może gdybyś dał taki śmieszny warunek<br />[syntax=c]if(C3==255) C3=9;[/syntax]<br />zero też Ci policzy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 8 lis 2015, o 22:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[masterix]]></name></author>
<updated>2015-11-08T21:50:18+01:00</updated>
<published>2015-11-08T21:50:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144868#p144868</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144868#p144868"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144868#p144868"><![CDATA[
A ja i owszem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> on omija pełne liczby takie jak 00:50 00:30 i pytanie jak to obejść, Bo w warunku jest C3&gt;0 czyli liczy do 1 0 pomija i wskakuje na 9 od razu.. I tu sobie z warunkami poradzić nie mogę <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=9423">masterix</a> — 8 lis 2015, o 21:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2015-11-08T21:44:08+01:00</updated>
<published>2015-11-08T21:44:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144867#p144867</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144867#p144867"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144867#p144867"><![CDATA[
Witam<br /><div class="quotetitle">masterix napisał(a):</div><div class="quotecontent"><br />Wie ktoś jak się tego pozbyć ?<br /></div><br />...a wie ktoś w którym miejscu kodu Ci się to dzieje?  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />W tej żonglerce literką &quot;C&quot; nie widzę błędu.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 8 lis 2015, o 21:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[masterix]]></name></author>
<updated>2015-11-08T21:13:48+01:00</updated>
<published>2015-11-08T21:13:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144866#p144866</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144866#p144866"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144866#p144866"><![CDATA[
Dobrze <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> dziękuje jeszcze raz ale teraz tak, działa ale tylko jak wyświetlam w przerwaniu. Jak to wyświetlać w np. pętli głównej? <br />I drugie pytanie.. Jest tu pewien błąd. A mianowicie ładnie odlicza tylko przeskakuje. NP 1:31 i next 1:29. Wie ktoś jak się tego pozbyć ?<br /><br />I przepraszam ze słowa w poście wyżej <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=9423">masterix</a> — 8 lis 2015, o 21:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2015-11-08T20:55:24+01:00</updated>
<published>2015-11-08T20:55:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144864#p144864</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144864#p144864"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144864#p144864"><![CDATA[
zdarza się panie kolego ....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 8 lis 2015, o 20:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[masterix]]></name></author>
<updated>2015-11-08T20:48:47+01:00</updated>
<published>2015-11-08T20:48:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144860#p144860</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144860#p144860"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144860#p144860"><![CDATA[
O ja (<strong><span style="color: #FF0000">cenzored</span></strong>)... Ludzie przepraszam ze zawracam (<strong><span style="color: #FF0000">cenzored</span></strong>).. Po prostu mi wstyd.. Siedze nad projektem którys dzień  i takie (<strong><span style="color: #FF0000">cenzored</span></strong>) mnie blokuje przez 2h.. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ale dziękuje <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><br /><br /><br /><br /><strong><span style="color: #FF0000">Ocenzurowano ..... forum czytają nieletni oraz kobiety niekoniecznie ciężarne ....  --&gt; SunRiver</span></strong><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9423">masterix</a> — 8 lis 2015, o 20:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2015-11-08T20:43:19+01:00</updated>
<published>2015-11-08T20:43:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144858#p144858</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144858#p144858"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144858#p144858"><![CDATA[
Witam<br />...a to:<br />[syntax=c]static uint16_t licznik =1;[/syntax]<br />ma tak stać w miejscu? - nie widzę jakiegoś<br />[syntax=c]licznik ++;[/syntax]<br /><br />edit:<br />...niby zając a wlecze się  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> <br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 8 lis 2015, o 20:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2015-11-08T20:41:12+01:00</updated>
<published>2015-11-08T20:41:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144856#p144856</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144856#p144856"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144856#p144856"><![CDATA[
<div class="quotetitle">masterix napisał(a):</div><div class="quotecontent"><br />if(licznik &gt; 99 &amp;&amp; SS_L==1 )<br /></div><br /><br />a gdzie  licznik++  ??<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br />o kolega mnie uprzedził<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 8 lis 2015, o 20:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anonimowy]]></name></author>
<updated>2015-11-08T20:39:37+01:00</updated>
<published>2015-11-08T20:39:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144855#p144855</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144855#p144855"/>
<title type="html"><![CDATA[Re: Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144855#p144855"><![CDATA[
<div class="quotetitle">masterix napisał(a):</div><div class="quotecontent"><br />Co ciekawe program wgl nie wchodzi do if(licznik &gt; 99 &amp;&amp; SS_L==1 ) mimo że odpowiednio wcześniej ustawiam zmienna SS_L =1..<br /></div><br />Pewnie dlatego, że w żadnym miejscu nie zwiększasz wartości zmiennej licznik...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3542">anonimowy</a> — 8 lis 2015, o 20:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[masterix]]></name></author>
<updated>2015-11-08T20:33:07+01:00</updated>
<published>2015-11-08T20:33:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144851#p144851</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144851#p144851"/>
<title type="html"><![CDATA[Minutnik na przerwaniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13513&amp;p=144851#p144851"><![CDATA[
Witam wszystkich serdecznie. Próbuje skonstruować minutnik na przerwaniach. Jest to część pewnego projektu. Problem w tym że nie działa <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> A mianowicie <br /><br />[syntax=c]void timer0_init(void)<br />{<br />TCCR0 |= (1&lt;&lt;WGM01);    // TIMER0 tryb CTC<br />TCCR0 |= (1&lt;&lt;CS02) | (1&lt;&lt;CS00);  // ustawienie preskalera<br />OCR0 = 156;<br />TIMSK |= (1&lt;&lt;OCIE0);<br />}<br /><br /><br /><br /><br />//---------------------------PROCEDURA OBSŁUGI PRZERWANIA------------<br /><br />ISR(TIMER0_COMP_vect)<br />{<br />static uint16_t licznik =1;<br /><br /><br /><br />if(licznik &gt; 99 &amp;&amp; SS_L==1 )<br />{<br /><br />        if (C4 &gt; 0) {C4--; }         <br />        if (C4 == 0 &amp;&amp; C3&gt; 0 )<br />        {            <br />                C3--;<br />                C4 = 9;<br /><br />        }<br />        if((C4 == 0 &amp;&amp; C3 == 0) &amp;&amp; C2 &gt; 0)<br />        { C2--;<br />                C3 = 5;<br />                C4 =9;<br /><br />        }<br />        if((C4 == 0 &amp;&amp; C3 == 0) &amp;&amp; (C2 == 0 &amp;&amp; C1 &gt; 0) )<br />        {<br />              C1--;<br />                C2 = 9;<br />                C3 = 5;<br />                C4 = 9;<br /><br />        }<br />if((C4 == 0 &amp;&amp; C3 == 0) &amp;&amp; (C2 == 0 &amp;&amp; C1 == 0) ) S_M = 1;<br />       <br />}<br /><br />itoa(C1, C1W,10);<br />itoa(C2, C2W,10);<br />itoa(C3, C3W,10);<br />itoa(C4, C4W,10);<br /><br />if (licznik == 100) licznik = 0;<br /><br />}[/syntax]<br /><br /><br />C1 to dziesiątki minuty, C2 jedności minuty C3, dziesiątki sekundy i C4 jedności sekundy.<br />Próbuje wyświetlić to na wyświetlaczu LCD 16x2 dlatego też muszę konwertować cyfry funkcją itoa. <br />Do przerwania procesor wchodzi bo sprawdzałem lampką. Natomiast nie zmieniają się wartości zmiennych C1 itd.  Co ciekawe program wgl nie wchodzi do if(licznik &gt; 99 &amp;&amp; SS_L==1 ) mimo że odpowiednio wcześniej ustawiam zmienna SS_L =1..<br /><br />Jakieś pomysły dlaczego to nie chce zaskoczyć ? Specjalnie nie wyświetlam w przerwaniu żeby nie przedłużać..<br /> I jeszcze pytanie pewnie retoryczne dla większości ale wole się upewnić. By takie dane się wyświetlały odpowiednio muszą być wyświetlane w pętli głównej programu a nie wyświetlane na sztywno, zgadza się?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9423">masterix</a> — 8 lis 2015, o 20:33</p><hr />
]]></content>
</entry>
</feed>