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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-04-04T13:25:35+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=6419&amp;mode</id>
<entry>
<author><name><![CDATA[Kuźnia]]></name></author>
<updated>2014-04-04T13:25:35+01:00</updated>
<published>2014-04-04T13:25:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=76939#p76939</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=76939#p76939"/>
<title type="html"><![CDATA[Re: Dziwne wartości zmiennej z modulo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=76939#p76939"><![CDATA[
<div class="quotetitle">MrDarkenRahl napisał(a):</div><div class="quotecontent"><br />Co do drugiego puntu - wydaje Ci się . Po prostu co 0.5 sekundy ma mi zsumować całą tablicę i przypisać ją do zmiennej, a kiedy zapełni 80 komórek (czyli po 40 sekundach) zaczyna je nadpisywać - coś a'la bufor kołowy.<br /></div><br /><br />tak. ale co przedstawia  zmiena  uremy, a co zawiera bufor?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2537">Kuźnia</a> — 4 kwi 2014, o 13:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrDarkenRahl]]></name></author>
<updated>2014-03-25T13:31:35+01:00</updated>
<published>2014-03-25T13:31:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75699#p75699</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75699#p75699"/>
<title type="html"><![CDATA[Re: Dziwne wartości zmiennej z modulo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75699#p75699"><![CDATA[
Jestem debilem -.- Serdecznie dziękuję Kuźnio (tak się odmienia Twój nick?) - problem był z tablicą. Pomyliłem sobie numer komórki z ilością komórek (tzn myślałem że jeżeli napiszę int tablica[79] będę miał do dyspozycji 80 komórek tablicy...). Teraz wszystko śmiga - dziękuję jeszcze raz.<br /><br />Co do drugiego puntu - wydaje Ci się <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" />. Po prostu co 0.5 sekundy ma mi zsumować całą tablicę i przypisać ją do zmiennej, a kiedy zapełni 80 komórek (czyli po 40 sekundach) zaczyna je nadpisywać - coś a'la bufor kołowy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=636">MrDarkenRahl</a> — 25 mar 2014, o 13:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kuźnia]]></name></author>
<updated>2014-03-25T01:49:35+01:00</updated>
<published>2014-03-25T01:49:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75660#p75660</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75660#p75660"/>
<title type="html"><![CDATA[Re: Dziwne wartości zmiennej z modulo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75660#p75660"><![CDATA[
ok. racja nie doczytałem. co do kodu to:<br />1)  tablica pomieści tylko 79 komórek(czyli indeksy wynoszą - od 0 do uwaga 78) a w linii kodu 55 wpisujesz indeks (zmienną j) równym 79 nadpisując coś za tablicą .Potem w linii kodu 64 następuje odczyt z 80 komórki(indeks = 79)a tablica pomieści tylko 79 komórek.<br />2)  Wydaje mi się, że wynik uremy+tablica[i] jeżeli jest to uśrednianie powinien być podzielony przez przez ilość wartości wpisanych do tablicy(albo po prostu przez 79 ale wtedy prawidłowy wynik ustali się po ok. 40 s ponieważ napełniasz 79 komórek co 0,5 s) bo inaczej co 0,5s wzrasta wynik i na początku jest ok i(to by potwierdzało to co pisałeś: &quot; Kiedy przed tym przypisaniem wstawiłem zerowanie tabeli (tzn. dopiero po zerowaniu przypisywałem wartości) wyświetlało poprawnie&quot;) może to jest przyczyna.<br /> Spróbuj tam jak trzeba to podzielić albo raczej znacznie przyspieszyć napełnianie tablicy no i zwiększyć rozmiar tablica (albo zmienić warunki indeksacji 79 zamiast 80) <br />pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2537">Kuźnia</a> — 25 mar 2014, o 01:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrDarkenRahl]]></name></author>
<updated>2014-03-24T23:33:31+01:00</updated>
<published>2014-03-24T23:33:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75656#p75656</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75656#p75656"/>
<title type="html"><![CDATA[Re: Dziwne wartości zmiennej z modulo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75656#p75656"><![CDATA[
Co jakiś czas jest wyświetlana poprawna liczba, reszta to jakieś losowe liczby. Proszę przeczytaj dokładniej - nie ma reguły, dla jakiej są dobrze wyświetlane, po prostu różnie je przypisywałem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=636">MrDarkenRahl</a> — 24 mar 2014, o 23:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kuźnia]]></name></author>
<updated>2014-03-24T23:26:57+01:00</updated>
<published>2014-03-24T23:26:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75653#p75653</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75653#p75653"/>
<title type="html"><![CDATA[Re: Dziwne wartości zmiennej z modulo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75653#p75653"><![CDATA[
Podaj parę przykładów liczb które się źle wyświetlają i co wtedy widać .Podaj parę przykładów liczb które się dobrze wyświetlają . Czy błędne wyświetlenie powtarza się dla danej liczby czy za każdym razem jest inne?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2537">Kuźnia</a> — 24 mar 2014, o 23:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrDarkenRahl]]></name></author>
<updated>2014-03-24T20:41:26+01:00</updated>
<published>2014-03-24T20:41:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75620#p75620</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75620#p75620"/>
<title type="html"><![CDATA[Re: Dziwne wartości zmiennej z modulo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75620#p75620"><![CDATA[
Kiedy przypisałem do zmiennej uremy liczbę 150, wszystko jest wyświetlane poprawnie. Kiedy ręcznie przypisałem w tabeli parę wartości, to zaczęło się sypać.  Kiedy przed tym przypisaniem wstawiłem zerowanie tabeli (tzn dopiero po zerowaniu przypisywałem wartości) wyświetlało poprawnie.<br />Nie mam pojęcia, co jest źle w moim kodzie :/.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=636">MrDarkenRahl</a> — 24 mar 2014, o 20:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2014-03-21T17:08:00+01:00</updated>
<published>2014-03-21T17:08:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75149#p75149</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75149#p75149"/>
<title type="html"><![CDATA[Re: Dziwne wartości zmiennej z modulo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75149#p75149"><![CDATA[
Napisz sobie taką wersję programu w którym te wartości są stałe potem przelicz to sam. Tu mogą być dwa problemy: jakiś wynik przekracza rozmiar zmiennej albo wynik cząstkowy przekracza int i trzeba dodać rzutowanie. Po szczegóły odsyłam na blog Mirka.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 21 mar 2014, o 17:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrDarkenRahl]]></name></author>
<updated>2014-03-21T16:40:55+01:00</updated>
<published>2014-03-21T16:40:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75147#p75147</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75147#p75147"/>
<title type="html"><![CDATA[Re: Dziwne wartości zmiennej z modulo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75147#p75147"><![CDATA[
Bufor zwiększyłem i zadeklarowałem bibliotekę - jest mały postęp, tzn zmienia się też druga zmienna, ale widać ją raz na czas, a tak to są różne wartości. Po kilku zmianach znów widać właściwy wynik i znów powtórka z rozrywki i losowe wartości.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=636">MrDarkenRahl</a> — 21 mar 2014, o 16:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krish]]></name></author>
<updated>2014-03-20T22:18:09+01:00</updated>
<published>2014-03-20T22:18:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75084#p75084</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75084#p75084"/>
<title type="html"><![CDATA[Re: Dziwne wartości zmiennej z modulo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=75084#p75084"><![CDATA[
Witam.<br />A przypadkiem nie ma warningów: ...warning: implicit declaration of function 'itoa',<br />bo nie widzę deklaracji #include &lt;stdlib.h&gt;;<br />może także warto (tak na próbę) trochę zwiększyć bufor dla funkcji itoa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2273">krish</a> — 20 mar 2014, o 22:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrDarkenRahl]]></name></author>
<updated>2014-03-19T20:02:09+01:00</updated>
<published>2014-03-19T20:02:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=74967#p74967</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=74967#p74967"/>
<title type="html"><![CDATA[Dziwne wartości zmiennej z modulo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6419&amp;p=74967#p74967"><![CDATA[
Witam<br />Kiedy mam taki program, na LCD szaleją jakieś dziwne liczby, natomiast kiedy zakreskuję fragmenty z modulo:<br />        usivertydzie=uremy%100;<br />Wszystko gra - tzn jest prawidłowy odczyt w uR/h, a uSv/h zmienia się tylko wartość przed kropką (jeżeli oczywiście jest odpowiednio wysoka zmienna). Czemu modulo niszczy mi program? <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> Próba załatwienia tego tak:<br />                        usivertydzie=(100 * uremy) - (100* usivertyjed);<br />Nic nie daje. Te liczby to np 25600, -2022, 1824, 196804, i raz na czas pojawia się dobra wartość, ale tylko na 1/2 sekundy. Co tutaj jest źle?<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;HD44780.h&quot;<br /><br />#define LED_PIN (1&lt;&lt;PB0)<br />#define LED_ON PORTB &amp;= ~LED_PIN<br />#define LED_OFF PORTB |= LED_PIN<br />#define LED_TOG PORTB ^= LED_PIN<br /><br />volatile uint8_t bufor;<br />volatile uint8_t blokada;<br /><br />volatile int czekaj;<br />volatile int polsekundy;<br />volatile int mikrosekundy;<br /><br />int j,uremy,usivertyjed,usivertydzie;<br />int tablica&#91;79&#93;;<br /><br />int main(void)<br />{<br />DDRB |= LED_PIN;<br />LCD_Initalize();   //inicjalizacja LCD<br />LCD_GoTo(0, 0);      //Ustawienie kursora w pozycji (0,0)<br />LCD_WriteText(&quot;Licznik Geigera&quot;);<br />char wynik&#91;4&#93;;<br /><br />TIMSK |= (1&lt;&lt;TOIE0); //przerwanie od TC0<br />TCCR0 |= (1&lt;&lt;CS01); //preskaler = 8<br /><br />//---------------------------------------------------------------------------------------<br />        // Przerwanie INT0<br />        DDRD &amp;= ~(1&lt;&lt;PD2);      //INT0 jako wejscie<br />        MCUCR |= (1&lt;&lt;ISC01);   // wyzwalanie zboczem opadajacym<br />        GICR |= (1&lt;&lt;INT0);      // odblokowanie przerwania<br />        PORTD |= (1&lt;&lt;PD2);      // podciągnięcie pinu INT0 do VCC<br /><br /><br />    //    DDRD &amp;= ~(1&lt;&lt;PD2);                              //INT0 jako wejscie<br />    //    MCUCR &amp;= ~(1&lt;&lt;ISC01)|(1&lt;&lt;ISC01);    // wyzwalanie stanem niskim<br />    //    GICR |= (1&lt;&lt;INT0);                              // odblokowanie przerwania<br />    //    PORTD |= (1&lt;&lt;PD2);<br /><br /><br />        sei();<br />//---------------------------------------------------------------------------------------<br /><br />        while(1)<br />        {<br />        if (polsekundy == 1){<br />        polsekundy=0;<br /><br />        tablica&#91;j&#93;=bufor;<br />        bufor=0;<br />        j++;<br />        if (j == 80){<br />        j=0;<br />        }<br /><br />        uremy=0;<br />        for (int i=0;i&lt;80;i++) {<br />        uremy=uremy+tablica&#91;i&#93;;<br />        }<br /><br />        usivertyjed=uremy/100;<br />        usivertydzie=uremy%100;<br /><br />        LCD_GoTo(0, 1);<br />        LCD_WriteText(&quot;                &quot;);<br />        LCD_GoTo(0, 1);<br />        itoa(uremy,wynik,10);      //konwersja wyniku do tablicy char<br />        LCD_WriteText(wynik);   //Wyświetlenie wyniku<br />        LCD_WriteText(&quot;uR/h &quot;);<br /><br />        itoa(usivertyjed,wynik,10);      //konwersja wyniku do tablicy char<br />        LCD_WriteText(wynik);   //Wyświetlenie wyniku<br />        LCD_WriteText(&quot;.&quot;);<br />        itoa(usivertydzie,wynik,10);      //konwersja wyniku do tablicy char<br />        LCD_WriteText(wynik);   //Wyświetlenie wyniku<br />        LCD_WriteText(&quot;uSv/h&quot;);<br /><br /><br />        }<br /><br />        if (blokada == 1) {<br />        //_delay_us(50);<br />        _delay_ms(1);<br />        blokada=0;<br />        }<br /><br />        }//while<br />}//main<br /><br /><br />//---------------------------------------------------------------------------------------<br />        //Przerwanie od INT0<br />ISR( INT0_vect )<br />{<br /> if (blokada==0){<br /> bufor++;<br /> blokada=1;<br /> LED_TOG;<br />  }<br />}<br />//---------------------------------------------------------------------------------------<br />ISR(TIMER0_OVF_vect){    // przerwanie INT0 po przepełnieniu TIMER0<br />mikrosekundy++;<br /><br />if (mikrosekundy == 4){<br />czekaj++;<br />mikrosekundy=0;<br />}<br /><br />if (czekaj == 500){<br />polsekundy++;<br />czekaj=0;<br />}<br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=636">MrDarkenRahl</a> — 19 mar 2014, o 20:02</p><hr />
]]></content>
</entry>
</feed>