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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-11-13T00:31:35+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=19134&amp;mode</id>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-11-13T00:31:35+01:00</updated>
<published>2017-11-13T00:31:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=198825#p198825</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=198825#p198825"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=198825#p198825"><![CDATA[
Z zegarem się uporałem wszystko działa poprawnie ale dodałem przyciski i jak zwykle coś nie tak po dodaniu jednego przycisku np. minuty mogę je ustawić ale po dodaniu drugiego  przycisku godziny zachowują się jak sekundy i nie wiem dlaczego tak się dzieje  [syntax=c]#include&lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include&lt;util/delay.h&gt;<br />#include&quot;MULTIPLEKS/multipleks.h&quot;<br /><br />#define KEY_MIN (1&lt;&lt;PC1)<br />#define KEY_GODZ (1&lt;&lt;PC2)<br /><br />int main (void){<br /><br />PORTC |= KEY_MIN , KEY_GODZ;  // podciągamy linie klawiszy do VCC<br /><br />multipleks_init();<br /><br />sei(); //zezwolenie na przerwanie<br /><br /> uint8_t cy1,cy2,cy3,cy4;<br />     uint8_t sek, min, godz ;<br /><br /> uint8_t key_lock;<br /><br />while(1){<br /><br />   cy1 = godz / 10;<br />   if(cy1)cyfra&#91;0&#93;= cy1;<br /><br />   else cyfra&#91;0&#93;= 0;<br />   cy2=godz%10;<br /><br />   if(cy2) cyfra&#91;1&#93;= cy2;<br /><br />   else cyfra&#91;1&#93;= 0;<br />   cy3 = min / 10;<br /><br />   if(cy3) cyfra&#91;2&#93;= cy3;<br /><br />   else cyfra&#91;2&#93;= 0;<br />   cy4 = min % 10;<br /><br />   cyfra&#91;3&#93;= cy4;<br /><br />//*********************<br /><br />   if(sek&lt;59){sek++; }<br />      else  {<br />      sek = 0;<br />    if(min&lt;59){ min++;}<br />    else{<br />      min = 0;<br />    if(godz&lt;23){godz++;}<br />    else{<br />     godz = 0;<br />        }<br />      }<br />    }<br />    _delay_ms(100);<br /><br />// ************ obsługa klawiszy**********<br /><br /> if( !key_lock &amp;&amp; !(PINC &amp; KEY_MIN ) ) {<br />  key_lock = 1;<br />  min++;         // reakcja na wcinięcie przycisku<br />  sek =0;<br />  if(min&gt;59) min =0;<br /><br />  } else if( key_lock &amp;&amp; (PINC &amp; KEY_MIN ) ) key_lock++;<br /><br /><br /><br /> if( !key_lock &amp;&amp; !(PINC &amp; KEY_GODZ ) ) {<br />  key_lock=1;<br />  godz++;    // reakcja na wcinięcie przycisku<br />  sek =0;<br />  if(godz&gt;23) godz =0;<br /><br />  else if( key_lock &amp;&amp; (PINC &amp; KEY_GODZ ) ) key_lock++;<br /><br />              }<br />}<br />}[/syntax]<br />proszę o pomoc.<br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 13 lis 2017, o 00:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-10-14T22:24:31+01:00</updated>
<published>2017-10-14T22:24:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=197031#p197031</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=197031#p197031"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=197031#p197031"><![CDATA[
No właśnie o to chodziło nawiasy o tym zapomniałem <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" />  a w tym tkwił problem chociaż  nie do końca wszystko poprawnie działa to znaczy przy resecie licznik wyświetla 00-5 następnie zaraz potem wyświetla 01-0 i minuty zaczynają odliczać<br /> -1,-2,-3….. następnie jest 59 a  powinno być 00 min a licznik wyświetla 50,51,52….59min następnie jest 10min brak jest 00min może trochę prościej :<br />początek po wgraniu -1,-2,-3….-9,10….59,50,51,53….59,10,11,12,13….<br />Wracając jeszcze do początku <img src="https://forum.atnel.pl/images/smilies/icon_question.gif" alt=":?:" title="Znak zapytania" />  ja myślałem w ten sposób żeby powołać jeszcze jedną zmienną licznik <br />  [syntax=c]uint16_t licznik = 1;<br />   uint16_t sek = licznik;<br />   uint16_t min = licznik*60;<br />   uint16_t godz = ((licznik*60)*60);[/syntax]<br />   <br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 14 paź 2017, o 22:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-10-13T17:38:11+01:00</updated>
<published>2017-10-13T17:38:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196974#p196974</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196974#p196974"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196974#p196974"><![CDATA[
Witam, <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />pozwoliłem sobie dopisać w komentarzach co się dzieje w Twoim kodzie.<br /><div class="quotetitle">Daro68 napisał(a):</div><div class="quotecontent"><br />[syntax=c]if(sek&lt;59){sek++;}     // co sekunde- gdy sekundy mniejsze od 59 to je zwiekszaj. czyli z 58 zmieni na 59. :)<br />else  { sek = 0;  min++;}    // gdy sekundy maja wartosc 59 to zmien na zero i dodawaj minuty. :)<br /><br />    if(min&lt;59)min++;   // co sekunde :( - gdy minuty mniejsze od 59 zwiekszaj minuty.    zmien na -&gt;&gt;&quot; if(min==59) {min=0; godz++;} &quot;<br />    else{ min = 0;sek=0; }   // ale gdy byly rowne 59 to wyzeruj minuty i sekundy. -&gt; co sekunde bo tak wymuszaja klamry . :(  -&gt;&gt; to slikwiduj <br /><br />    if(godz&lt;23){godz=0;godz++;} // jezeli godzina mniejsza od 23 -&gt;(0,1,2,3,4,5,....21,22.) zmien godzine na 0. i dodaj do godziny jeden. &quot;zawsze bedzie zmieniac na 1 z zera . CO SEKUNDĘ &quot; :(  zmien na -&gt;&gt; if(godz==23){ godz=0;}<br /><br />    _delay_ms(500);[/syntax]<br /></div><br /> albo podmień testowo na taki wzorowany na Twoim , np.<br /><br />[syntax=c]if(sek&lt;59){sek++;}                      // gdy sek mniejsze od 59 to zwiekszaj o 1<br />else  {                                 // jezeli maja wartosc 59  &quot;else_1 sekund&quot;<br />       sek = 0;                         // zamiast zwiekszyc to wyzeruj ( takze wykonaj nastepna linijke)<br /><br />       if(min&lt;59) {min++;}              // jezeli wlasnie byly zerowane sek to jeszcze zwieksz min. ale tylko wtedy gdy nie doszly do wartosci 59.<br />       else {                           // jezeli jednak doszly do wartosci 59 - to wykonaj jeszcze to: '&quot;else_2 minut &quot;<br />             min = 0 ;                  // czyli gdy wartosc byla 59 to zmien na zero.  <br /><br />             if(godz&lt;23){godz++;}       // jezeli godziny nie mialy wartosci 23 to zwiekszaj<br />             else {                     // ale gdy mialy juz wartosc 23 to zmien na zero.  &quot;else_3 godzin&quot;<br />                    godz=0;<br />                  } // koniec else trzeciego &quot;godzin&quot;<br />             } // koniec else drugirgo &quot;minut&quot;<br />       } // koniec else pierwszego &quot;sekund&quot;<br />  <br /> _delay_ms(1000);[/syntax]<br />Zwróć uwagę że pierwsze else obejmuje kod aż do _delay'a , drugie też, i trzecie też. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />a if'y kolejne są wewnątrz poprzednich else. (czyli ostatni if jest wewnątrz poprzednich dwóch else) <br />czyli jeżeli właśnie są wartości:<br />sek = 59, min = 59 oraz godz = 23, to program przeleci przez wszystkie else w jednym obiegu pętli,<br />zerując sek,min,godz. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />ale wystarczy że sekundy będą mialy wartość np. 58 , to cała reszta się nie wykona, tylko zostanie zwiększona zmienna sek o 1. na 59.<br />pozdrawiam i życzę owocnej rozkminki. <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=11549">Daro69</a> — 13 paź 2017, o 17:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kazekat]]></name></author>
<updated>2017-10-13T15:21:08+01:00</updated>
<published>2017-10-13T15:21:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196971#p196971</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196971#p196971"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196971#p196971"><![CDATA[
Jeśli mógłbym się przyłączyć do dyskusji to chciałbym coś wtrącić.<br />W drugim if masz  if(min&lt;59)min++; czyli zawsze jak minuty są mniejsze od 59 (czyli co każdy obieg pętli)zwiększy Ci liczbę minut o 1, a powinno być ja obieg pętli doliczy sekundy do 59 to zwiększy liczbę minut o 1; a więc if (sek=0) min++, i analogicznie w następnym if-ie. Nie sprawdzałem w Eclipsie ale chyba tak powinno być.<br />Ja zrobiłem sobie zegar trochę inaczej. powołałem zmienną uint16_t licznik= 11*60 i zamieniłem tą zmienną na sekundy dzieląc przez odpowiednią liczbę.<br />O coś w tym stylu:<br />[syntax=c]d1=licznik/600;           //dziesiątki minut<br />if(d1) cy1=d1; else cy1=0;<br />d2=(licznik-(d1*600))/60;          //minuty<br />if(d2) cy2=d2; else cy2=(licznik&gt;359)?0:0;<br />d3=(licznik-(d1*600)-(d2*60))/10;           //dziesiątki sekund<br />if(d3) cy3=d3; else cy3=(licznik&gt;99)?0:0;<br />d4=(licznik-(d1*600)-(d2*60)-(d3*10));      // sekundy<br />cy4=d4;<br />_delay_ms(1000);       <br />licznik++;<br />if(licznik&gt;3599) licznik=0;[/syntax]<br /><br />oczywiście on odlicza mi sekundy i minuty ale analogicznie można zrobić z godzinami.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17021">kazekat</a> — 13 paź 2017, o 15:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-10-12T06:55:58+01:00</updated>
<published>2017-10-12T06:55:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196882#p196882</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196882#p196882"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196882#p196882"><![CDATA[
Witam, <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Odniosę się do skrawka pod gwiazdkami. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Pierwszy if else. OK<br /><br />Drugi if else także będzie wykonywany co 500ms. ! ( zakładam że 500 zamiast 1000 ma przyspieszyć testy )<br />Dlaczego w else są zerowane sekundy ?<br /><br />Trzeci if, też będzie sprawdzany co 500ms. (a nie co oczekiwaną od kodu godzinę)<br />Zobacz co ten if robi co 500ms. :<br />Jeżeli godzina mniejsza od 23 to za każdym razem ( godzina = 0; zwiększ godzinę o jeden. Czyli robi z godziny ciągle 1 ).<br />Pozdrawiam. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><br />Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 12 paź 2017, o 06:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-10-11T23:31:59+01:00</updated>
<published>2017-10-11T23:31:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196874#p196874</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196874#p196874"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196874#p196874"><![CDATA[
Troch mnie na parę dni odstawiło na boczny tor (kłopoty zdrowotne) ale chciałbym   skończyć temat zegara Daro69 podsunął coś takiego<div class="quotetitle">Daro69 napisał(a):</div><div class="quotecontent"><br />if(sek &lt; 59) sek++; else { sek=0; min++;}<br />if(min &gt; 59) { min= 0; godziny++;}<br />if(godziny&gt;23) godziny=0;i<br /></div><br />jakoś nie chce to zadziałać myślę że rozbija się to o odliczanie sekund tylko nie umie tego rozwiązać ja zrobiłem coś takiego<br /> [syntax=c]cy1 = godz / 10;<br />   if(cy1)cyfra&#91;0&#93;= cy1;<br /><br />   else cyfra&#91;0&#93;= 0;<br />   cy2=godz%10;<br /><br />   if(cy2) cyfra&#91;1&#93;= cy2;<br /><br />   else cyfra&#91;1&#93;= 0;<br />   cy3 = min / 10;<br /><br />   if(cy3) cyfra&#91;2&#93;= cy3;<br /><br />   cy4 = min % 10;<br />   cyfra&#91;3&#93;= cy4;<br /><br />//*********************<br /><br />   if(sek&lt;59){sek++;}<br />      else  { sek = 0;  min++;}<br /><br />    if(min&lt;59)min++;<br />    else{ min = 0;sek=0; }<br /><br />    if(godz&lt;23){godz=0;godz++;}<br /><br />    _delay_ms(500);[/syntax]<br />Poz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 11 paź 2017, o 23:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-10-04T08:06:11+01:00</updated>
<published>2017-10-04T08:06:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196385#p196385</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196385#p196385"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196385#p196385"><![CDATA[
To może tak prościutki:<br />[syntax=c]if(sek &lt; 59) sek++; else { sek=0; min++;}<br />if(min &gt; 59) { min= 0; godziny++;}<br />if(godziny&gt;23) godziny=0;[/syntax]<br /><img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 4 paź 2017, o 08:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-10-03T23:09:20+01:00</updated>
<published>2017-10-03T23:09:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196376#p196376</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196376#p196376"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196376#p196376"><![CDATA[
Po wielu próbach dalej stoję w miejscu , ostatnie wypociny też nie przyniosły zamierzonego celu  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br /><br />  [syntax=c]if(sek&lt;59)sek++;<br />   else if(sek==60) min=0;<br />      else  {<br />   sek = 0 ;<br />  min++;<br />    }<br />    if(min&lt;59)min++;<br />    else if(min==60)godz=0;<br />      else {<br />      min = 0;<br />      godz++;<br />      }<br />    if(godz&lt;23)godz++;<br />      else {<br />      godz = 0 ;<br /><br />      }<br />    _delay_ms(1000);<br />   if(sek&lt;59)sek++;<br />   else if(sek==60) min=0;<br />      else  {<br />   sek = 0 ;<br />  min++;<br />    }<br />    if(min&lt;59)min++;<br />    else if(min==60)godz=0;<br />      else {<br />      min = 0;<br />      godz++;<br />      }<br />    if(godz&lt;23)godz++;<br />      else {<br />      godz = 0 ;<br /><br />      }<br />    _delay_ms(1000);[/syntax]<br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 3 paź 2017, o 23:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-10-01T09:10:02+01:00</updated>
<published>2017-10-01T09:10:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196187#p196187</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196187#p196187"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196187#p196187"><![CDATA[
[syntax=c]if(sek&lt;59) sek++;  // sprawdzane co sekundę<br /><br />else { sek = 0; min++; }  // sprawdzane co 60 sekund bo else poprzedniego ifa.<br /><br />if(min &gt; 59) { min = 0; godz++; } // sprawdzane co sekundę<br /><br />if(godz &gt; 23) { godz = 0; } // sprawdzane co sekundę<br /><br />_delay_ms(1000);[/syntax]<br />albo:<br />[syntax=c]if(sek&lt;59) {sek++;} // sprawdzane co sekunde<br /><br />else {  //----------co 60 sekund-----az do delaya----<br />sek = 0;<br /><br />if(min &lt; 59) {min++;} // co 60 sek.<br />else { // -----co 60 minut ----az do delaya----<br />                min = 0;<br />if(godz &lt; 23) {godz++;} // co 60 minut<br />else {dodz = 0;} // -----co 24 godziny--<br />}<br />}<br />_delay_ms(1000);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 1 paź 2017, o 09:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-09-30T23:51:30+01:00</updated>
<published>2017-09-30T23:51:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196184#p196184</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196184#p196184"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196184#p196184"><![CDATA[
Licznik ożył to już coś ale na początku wyświetla 16-5 nie wiem dlaczego potem minuty odliczają czas jak sekundy jednocześnie godziny zachowują się w ten sam sposób czyli odliczają czas od 1-23 w sekundowych odstępach <br />[syntax=c]#include&lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include&lt;util/delay.h&gt;<br />#include&quot;MULTIPLEKS/multipleks.h&quot;<br />int main (void){<br /><br />multipleks_init();<br /><br />sei(); //zezwolenie na przerwanie<br /><br />   uint8_t cy1,cy2,cy3,cy4;<br />   uint8_t sek,min,godz;<br /><br />while(1){<br /><br />cy1 = min % 10;<br />cy2 = min / 10;<br />cy3 = godz % 10;<br />if(godz &gt; 9 ) cy4 = godz / 10; else cy4 = 10;<br /><br /><br /><br />   cy1 = godz / 10;<br />   if(cy1)cyfra&#91;0&#93;= cy1;<br /><br />   else cyfra&#91;0&#93;= 0;<br />   cy2=godz%10;<br /><br />   if(cy2) cyfra&#91;1&#93;= cy2;<br /><br />   else cyfra&#91;1&#93;= 0;<br />   cy3 = min / 10;<br /><br />   if(cy3) cyfra&#91;2&#93;= cy3;<br /><br />   cy4 = min % 10;<br />   cyfra&#91;3&#93;= cy4;<br /><br />   if(sek&lt;59)sek++;<br />      else {<br />   sek = 0 ;<br />  min++;<br />    }<br />    if(min&lt;59)min++;<br />      else {<br />      min = 0 ;<br />      godz++;<br />      }<br />    if(godz&lt;23)godz++;<br />      else {<br />      godz = 0 ;<br />      }<br />    _delay_ms(1000);<br />}<br />}[/syntax]<br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 30 wrz 2017, o 23:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-09-29T07:42:18+01:00</updated>
<published>2017-09-29T07:42:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196016#p196016</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196016#p196016"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196016#p196016"><![CDATA[
Ogólnie: sekundy się kręcą ale nie napędzają minut a minuty godzin które wyświetlacz  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 29 wrz 2017, o 07:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-09-29T07:15:14+01:00</updated>
<published>2017-09-29T07:15:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196015#p196015</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196015#p196015"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196015#p196015"><![CDATA[
W przerwaniu co sekundę.<br />Jeżeli sekundy&lt;59 to:<br />sek++;<br />else: <br />{<br />Sek=O;<br />Min++;  // &lt;•••••tego brakuje<br />}<br />Potem:<br />Jeżeli min &gt; 59 to<br />{<br />min=O; <br />godziny++; <br />}<br /><br />Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 29 wrz 2017, o 07:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-09-28T23:06:04+01:00</updated>
<published>2017-09-28T23:06:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196010#p196010</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196010#p196010"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=196010#p196010"><![CDATA[
Ja zrobiłem coś takiego ale oczywiście nie działa , teraz zabiorę się za twój poprawiony kod<br />[syntax=c]cy1 = godz / 10;<br />   if(cy1)cyfra&#91;0&#93;= cy1;<br /><br />   else cyfra&#91;0&#93;= 0;<br />   cy2=godz%10;<br /><br />   if(cy2) cyfra&#91;1&#93;= cy2;<br /><br />   else cyfra&#91;1&#93;= 0;<br />   cy3 = min / 10;<br /><br />   if(cy3) cyfra&#91;2&#93;= cy3;<br /><br />   cy4 = min % 10;<br />   cyfra&#91;3&#93;= cy4;<br /><br /><br /><br />   if(sek&lt;59)sek++;<br />      else {<br />   sek = 0 ;<br />    }<br />    if(min&lt;59)min++;<br />      else {<br />      min = 0 ;<br />      }<br />    if(godz&lt;23)godz++;<br />      else {<br />      godz = 0 ;<br />      }[/syntax]<br />proszę o pokazanie gdzie popełniłem błędy <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> po wgraniu wyświetlają się same zera  <br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 28 wrz 2017, o 23:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-09-26T11:20:16+01:00</updated>
<published>2017-09-26T11:20:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195854#p195854</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195854#p195854"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195854#p195854"><![CDATA[
No dobrze. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />To teraz kroczek dalej.<br />Widzę że nie stosujesz przerwania, ale to nic. Potem to ogarniesz. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Rizbij sobie kod na dwa podprogramy.<br />W jednym wyliczaj wartości min i godzin,<br />a w drugim wyświetlaj je na wyswietlaczu:<br />[syntax=c]if(sekundy &lt; 59) {<br />     sekundy++; //(doliczy do 59)<br />     }<br />else {  // (czyli jeżeli jest juz wartość 59)<br />       sekundy = 0;<br />        if(minuty &lt; 59) {<br />             minuty ++;<br />         }<br />        else { <br />              minuty = 0; <br />              if(godziny &lt; 23) {<br />                  godziny ++;<br />               }<br />               else godziny = 0;<br />         }<br />}[/syntax]<br />a oddzielnie: np.<br /><br />[syntax=c]cy1 = minuty % 10;<br />cy2 = minuty / 10; <br />cy3 = godziny % 10; <br />if(godziny &gt; 9 ) cy4 = godziny / 10; else cy4 = 10;[/syntax]<br />możliwe że brakuje gdzieś orientacyjnych klamer, ale piszę z tapataka i niewiele widzę. poza tym nie wiem gdzie tu jest syntax c.<br />wieczorem poprawię .<br />Ale zasadę pewnie odczytasz. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka<br />........ok poprawiłem......... <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=11549">Daro69</a> — 26 wrz 2017, o 11:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-09-25T23:39:21+01:00</updated>
<published>2017-09-25T23:39:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195840#p195840</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195840#p195840"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195840#p195840"><![CDATA[
<div class="quotetitle">Daro69 napisał(a):</div><div class="quotecontent"><br />zerknij, podałeś dwa założenia.<br />jedno to liczba jako ilość minut. np......... liczba_1 = 250 .  czyli 4h,10min. (250min)<br />drugie założenie liczba jako cyfry czasu.....liczba_2 = 410 . czyli 4h,10min. (4.10)<br /></div><br />Bardzo ciekawe zagadnienie i słuszna uwaga nigdy nie patrzyłem na to w ten sposób ja chcą sobie stworzyć prosty zegar żeby posunąć się w nauce jeden krok dalej .<br />Stworzyłem prosty kod odliczający sekundy biorąc pod uwagę  podpowiedzi kod działa sekundy wyświetlają się poprawnie od 0-59 ale docelowo tę funkcję ma przejąć kropka , teraz muszę uruchomić minuty i godziny      <br />[syntax=c]sek1 = licznik / 10;<br />        if(sek1) cyfra&#91;2&#93;= sek1;<br />   else cyfra&#91;2&#93; = (licznik&gt;60)?0:10; //warunek spełniony = 0, nie spełniony = NIC<br />   sek2 = (licznik - (sek1*10) );<br />   cyfra&#91;3&#93;= sek2;<br /><br /> _delay_ms(500);<br />           licznik++;<br />        if( licznik&gt; 59 ) licznik = 0;[/syntax]<br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 25 wrz 2017, o 23:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-09-21T16:03:25+01:00</updated>
<published>2017-09-21T16:03:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195548#p195548</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195548#p195548"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195548#p195548"><![CDATA[
zerknij, podałeś dwa założenia.<br />jedno to liczba jako ilość minut. np......... liczba_1 = 250 .  czyli 4h,10min. (250min)<br />drugie założenie liczba jako cyfry czasu.....liczba_2 = 410 . czyli 4h,10min. (4.10)<br />wg założeń czas się zgadza ale liczby są różne.<br />stąd moje dociekania o Twoje zamysły. <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=11549">Daro69</a> — 21 wrz 2017, o 16:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-09-21T06:54:02+01:00</updated>
<published>2017-09-21T06:54:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195523#p195523</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195523#p195523"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195523#p195523"><![CDATA[
Ok. to jest jasne. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Chodzi mi o tworzenie wartości sekund total. <br />Jeżeli inkrementacja, to trzeba pamiętać o tym że :<br />59 + 1 = 100. <br />159 + 1 = 200. <br />...<br /><img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 21 wrz 2017, o 06:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-09-20T23:22:14+01:00</updated>
<published>2017-09-20T23:22:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195521#p195521</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195521#p195521"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195521#p195521"><![CDATA[
To może jeszcze raz <br />liczba = 3600;<br />godz = liczba / 1;      //tyle sekund w godzinie<br />min=liczba / 60;       //  w  min <br />sek= liczba / 3600;  //1 sek<br />to teraz powyższy przykład 2317 to jest 23:17 jak rozbić na minuty i godziny <br />godziny<br />[syntax=c]z1 = ( liczba / 1000 ) ; // 2317/1000= 2<br />1. z2 = ( liczba - ( z1*1000)  )  /  100 ; // (2317 - (2*1000)  )  /  100 = 3[/syntax]<br />minuty<br />[syntax=c]z3 = ( liczba - (z1*1000) - (z2*100)  )  /  10 ;  // (2317 - 2*1000 - 3*100 ) / 10 = 1<br />1. z4 = ( liczba - (z1*1000) - ( z2*100) - (z3*10)  ) ; // 2317 - 2000 - 300 - 10 = 7[/syntax]<br />myślałem w ten sposób to podzielić czyli:<br />z1= godz1<br />z2=godz2<br />z3=min1<br />z4=min2<br />a kropka to będzie sekundnik , wiem że do budowy zegara są inne układy ale chciałbym lepiej zrozumieć i przećwiczyć to sobie.<br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 20 wrz 2017, o 23:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-09-17T02:50:10+01:00</updated>
<published>2017-09-17T02:50:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195222#p195222</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195222#p195222"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=195222#p195222"><![CDATA[
Witam,<br /><div class="quotetitle">Daro68 napisał(a):</div><div class="quotecontent"><br />Program zadziałał poprawnie zlicza od 1-10 dzięki za pomoc , jeszcze czy dobrze rozumiem np. liczba :2317<br />z1 (2x1000)=2000<br />z2 (3x100 )= 300<br />z3 (1x10 )= 10<br />z4 (7x1 )= 7<br />–--------------------------<br />2317<br /></div><br />Matematycznie to by się zgadzało. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />[syntax=c]liczba=2317;<br />z1 = ( liczba / 1000 ) ; // 2317/1000= 2 <br />z2 = ( liczba - ( z1*1000)  )  /  100 ; // (2317 - (2*1000)  )  /  100 = 3<br />z3 = ( liczba - (z1*1000) - (z2*100)  )  /  10 ;  // (2317 - 2*1000 - 3*100 ) / 10 = 1<br />z4 = ( liczba - (z1*1000) - ( z2*100) - (z3*10)  ) ; // 2317 - 2000 - 300 - 10 = 7[/syntax]<br />albo:<br />[syntax=c]z4 = liczba % 10;             // reszta z podzielenia 2317 przez 10 = 7<br />z3 = ( liczba / 10 ) % 10;    // reszta z podzielenia 231 przez 10 = 1<br />z2 = ( liczba /100 ) % 10;    // reszta z podzielenia 23 przez 10 = 3 <br />z1 = liczba / 1000 ;          // = 2[/syntax]<br />[syntax=c]cyfra&#91;0&#93; = z1;<br />cyfra&#91;1&#93; = z2;<br />cyfra&#91;2&#93; = z3;<br />cyfra&#91;3&#93; = z4;[/syntax]<br />albo:<br />[syntax=c]uint8_t tab_znak&#91;4&#93;;<br />uint8_t kolejny_znak;<br />/*....................................*/<br />znak&#91;3&#93; = liczba % 10;<br />znak&#91;2&#93; = ( liczba / 10 ) % 10;<br />znak&#91;1&#93; = ( liczba /100 ) % 10;<br />znak&#91;0&#93; = liczba / 1000 ;<br />/*.....................................*/<br />(kolejny_znak &lt; 3)? kolejny_znak++: kolejny_znak=0;<br />cyfra&#91;kolejny_znak&#93; = znak&#91;kolejny_znak&#93;;[/syntax]<br />nie wiem czy o to chodziło. ?<br /><div class="quotetitle">Daro68 napisał(a):</div><div class="quotecontent"><br />a teraz mój końcowy cel stworzenie prostego zegara rozpisałem sobie to w ten sposób <br />3600/3600=1sek<br />3600/60=60sek=1min<br />3600/1=3600sek=1godz<br />3600x24=doba<br />czy takie założenie jest prawidłowe<br /></div><br />Tu już się pogubiłem w założeniach.  <img src="https://forum.atnel.pl/images/smilies/icon_e_confused.gif" alt=":?" title="Boi się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 17 wrz 2017, o 02:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-09-12T23:08:02+01:00</updated>
<published>2017-09-12T23:08:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194989#p194989</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194989#p194989"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194989#p194989"><![CDATA[
Program zadziałał poprawnie zlicza od 1-10 dzięki za pomoc , jeszcze czy dobrze rozumiem np. liczba :2317<br />z1 (2x1000)=2000<br />z2 (3x100  )=  300<br />z3 (1x10    )=    10<br />z4 (7x1      )=      7<br />–--------------------------<br />                      2317<br />Proszę jeszcze o sprawdzenie poprawności zapisu ,  program zlicza od 1-60 podczas zliczania od 1-9 ma być zapalone „0” przed  1...9  program działa poprawnie jak można zapisać to inaczej i czy w ogóle jest to prawidłowy zapis   <br />[syntax=c]else cyfra&#91;2&#93; = (licznik&gt;9)?10:0;[/syntax]<br />a teraz mój końcowy cel stworzenie prostego zegara rozpisałem sobie to w ten sposób <br />3600/3600=1sek<br />3600/60=60sek=1min<br />3600/1=3600sek=1godz<br />3600x24=doba<br />czy takie założenie jest prawidłowe<br /><br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 12 wrz 2017, o 23:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-09-11T15:37:46+01:00</updated>
<published>2017-09-11T15:37:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194872#p194872</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194872#p194872"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194872#p194872"><![CDATA[
W tym przykładzie akurat tak bardzo nie przeszkadza. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Zmienna powołana jest kilka linijek wcześniej , poza tym w przerwaniu w innym pliku. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><br />Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 11 wrz 2017, o 15:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2017-09-10T18:57:38+01:00</updated>
<published>2017-09-10T18:57:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194837#p194837</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194837#p194837"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194837#p194837"><![CDATA[
Już nie mówiąc że takim zabiegiem nawet się traci bajt, im mniejszy chaos tym lepiej, ale może niektórzy lubią <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Wysłane ze srajfona.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 10 wrz 2017, o 18:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-09-10T18:46:57+01:00</updated>
<published>2017-09-10T18:46:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194835#p194835</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194835#p194835"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194835#p194835"><![CDATA[
@Harry,<br />jeżeli używamy takiej samej , to utrudniamy sobie. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> nic poza tym. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /> i tak komórki musza być na tę zmienną zarezerwowane bez względu na to jaką ma nazwę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 10 wrz 2017, o 18:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2017-09-10T17:00:34+01:00</updated>
<published>2017-09-10T17:00:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194814#p194814</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194814#p194814"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194814#p194814"><![CDATA[
Dzięki,  zamotałem się z tym dzieleniem przez 10 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Jest jakieś uzasadnienie żeby nie używać innej nazwy zmiennej, chodzi o zajętość pamięci,  bo jakoś nie lubię sobie utrudniać życia stosując maślankę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Wysłane ze srajfona.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 10 wrz 2017, o 17:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-09-10T16:22:01+01:00</updated>
<published>2017-09-10T16:22:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194811#p194811</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194811#p194811"/>
<title type="html"><![CDATA[Re: Multipleksowanie licznik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19134&amp;p=194811#p194811"><![CDATA[
<div class="quotetitle">Harry napisał(a):</div><div class="quotecontent"><br />A jak to działa, jeżeli np z4 przyjmie wartość powyżej 10?<br /></div><br />Ano o to własnie chodzi żeby licznik (ten z main.c) nie przekroczył liczby dwucyfrowej,<br />wtedy z4 nie przekroczy 9 (dziewiąty element w tablicy przechowujący znak cyfry 9) <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><div class="quotetitle">Harry napisał(a):</div><div class="quotecontent"><br />Czy deklaracja licznika raz jako uint16, a w przerwaniu jako uint8 nie powoduje jakiś błędów?<br /></div><br />nie powoduje.<br />efekt jest taki że licznik z pętli main jest niewidoczny w przerwaniu a licznik z przerwania jest nie widoczny w pętli main. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />[syntax=c]int main (void) {<br />uint16_t licznik = 1;<br />}<br />ISR(TIMER0_COMPA_vect){<br />static uint8_t licznik;<br />}[/syntax]<br />gdyby się okazało że powołaliśmy zmienną przed &quot;mainem&quot;, jako globalną uint16_t licznik = 1; , <br />to zmienna w pętli przerwania jakby przykryje ważność nazwy tej zmiennej nową nazwą nowej zmiennej wewnętrznej, która ma identyczną nazwę.<br /> <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> takie masło maślane mi wyszlo, ale mam nadzieję że wiadomo o co chodzi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 10 wrz 2017, o 16:22</p><hr />
]]></content>
</entry>
</feed>