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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-02-04T08:46:26+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=2215&amp;mode</id>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-02-04T08:46:26+01:00</updated>
<published>2013-02-04T08:46:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26788#p26788</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26788#p26788"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26788#p26788"><![CDATA[
Witam<br />Dziękuję Wszystkim za pomoc. Wasze sugestie pomogły rozwiązać problem. Na razie daję sobie radę. Jak pojawią się jakieś problemy, to będę pisał. <br />Moderatorzy jeżeli uważają to za słuszne, to mogą zmienić tytuł na bardziej trafny.<br />Dzięki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 4 lut 2013, o 08:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2013-02-01T16:51:08+01:00</updated>
<published>2013-02-01T16:51:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26533#p26533</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26533#p26533"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26533#p26533"><![CDATA[
Może ten <a href="http://pl.wikibooks.org/wiki/C/memmove"  class="postlink">link</a>  ci pomoże <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=225">Malutki_27</a> — 1 lut 2013, o 16:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-02-01T12:35:17+01:00</updated>
<published>2013-02-01T12:35:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26507#p26507</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26507#p26507"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26507#p26507"><![CDATA[
Na razie wymyśliłem coś takiego. Wydaje się, żę powinno działać, sprawdzę wieczorem. Dzięki za naprowadzenie na metodę realizacji.<br /><br />[syntax=c]<br />if(!Tim2)                            //zapis danych do tablicy dane<br />        {<br />          Tim2=100;<br />          dane[wsk_zapis]=temper;  //temper = wartosc z DS18b20<br />          wsk_zapis++;<br />          if(wsk_zapis == 8) {wsk_zapis = 0;}<br />        }<br />.<br />.<br />.                                     //wyswietlanie na LCD<br />wsk_odczyt =wsk_zapis+1;<br />   for(piksel=0; piksel&lt;8; piksel++) //petla wykona sie 8 razy<br />      {<br />        LCD_SetPiksel(piksel, dane[wsk_odczyt]);       //LCD_SetPiksel(wspolrzedna x, wspolrzedna y)<br />        wsk_odczyt++;<br />        if(wsk_odczyt&gt;7) {wsk_odczyt=0;}<br />      }<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 1 lut 2013, o 12:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jado]]></name></author>
<updated>2013-02-01T11:00:41+01:00</updated>
<published>2013-02-01T11:00:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26498#p26498</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26498#p26498"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26498#p26498"><![CDATA[
Masz co najmniej dwa sposoby:<br />1. Odczytujesz dane od adresu <em>wskaznik+1</em>, stopniowo zwiększając adres odczytu aż osiągniesz koniec bufora (czyli liczba odczytanych elementów = wielkość bufora), pamiętając przy tym o przewinięciu przy osiąganiu końca bufora.  Ponieważ element spod adresu <em>wskaźnik+1</em> jest najstarszym elementem bufora, to musisz go wpisywać zawsze na koniec ekranu LCD,  a każdy następny element pod adres coraz bliższy początkowi ekranu LCD.<br />Ostatni element bufora spod adresu <em>wskaznik</em> wpiszesz na sam początek ekranu.<br /><br />2. Drugi sposób jest dokładnie odwrotny. <br />Odczytujesz dane spod adresu <em>wskaznik</em> i wpisujesz na początek ekranu LCD, potem <em>wskaźnik-1</em>, na druga pozycję, <em>wskaźnik-2</em> na trzecią...itd.... Pamiętając oczywiście o zawinięciu wskaźnika przy osiąganiu adresu 0.<br />Najlepiej wprowadzić sobie drugi wskaźnik - wskaźnik odczytu, który można będzie inkrementowac/dekrementować (zależnie od metody) podczas wysyłania danych na ekran, a nie naruszamy wówczas wskaźnika zapisu.<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent"> wskaznik_odczytu--;<br /> if (wskaznik_odczytu &lt; 0)<br /> wskaznik_odczytu = wielkosc_bufora;<br /></div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=852">Jado</a> — 1 lut 2013, o 11:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-02-01T10:26:37+01:00</updated>
<published>2013-02-01T10:26:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26495#p26495</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26495#p26495"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26495#p26495"><![CDATA[
Poczytałem na temat tablic cyklicznych i generalnie nie ma problemu z zapisem i odczytem któregoś elementu tablicy. Mam zrobiony bufor o nazwie dane[8]; i mam podgląd jego zawartości na LCD. Wszystko się ładnie do niego zapisuje na kolejnych pozycjach wskazywanych przez zmienną 'wsk'. Mam jednak problem z odczytem zawartości całej tablicy w ten sposób aby zawsze nowo przybyła dana przyporządkowana była pikselowy nr 8 na LCD, a najstarsza wartość pikselowi nr 1. Myślę, że poniższy rysunek wyjaśni o co mi chodzi. Chciałbym uzyskać efekt 'płynięcia' wykresu (jeśli to tak można nazwać)<br /><a href="http://forum.atnel.pl/_obrazki/o/766_1e26b5e172fc5a8e0ba4e668dc2f2c16.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/766_1e26b5e172fc5a8e0ba4e668dc2f2c16.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 1 lut 2013, o 10:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[arturf209]]></name></author>
<updated>2013-01-31T14:12:32+01:00</updated>
<published>2013-01-31T14:12:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26416#p26416</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26416#p26416"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26416#p26416"><![CDATA[
Bo dziwnie sobie to rozwiązałeś jak dla mnie.<br /><br />Ja bym zrobił tak:<br /><br />Wykonywanie zapisu, inkrementacja wskaźnika zapisu, sprawdzanie warunku<br /><br />A masz tak:<br />inkrementacja,  zapis, warunek<br /><br />Spróbuj. <br /><br />A poza tym, kod się kompiluje czy nie?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=801">arturf209</a> — 31 sty 2013, o 14:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-01-31T09:18:36+01:00</updated>
<published>2013-01-31T09:18:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26409#p26409</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26409#p26409"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26409#p26409"><![CDATA[
Witam,<br />BRAVO dla kolegi <strong>Jado</strong>. <br />Zmienna 'uint16_t temper' jest to temperatura z DS18b20 która jest rzutowana na uint8_t. Oczywiście jest inicjowana domyślną wartością 0. Problem polegał na tym, że tak miałem poustawiane Timery programowe, że pierw wykonywał się warunek z wyznaczaniem 'minn' i maxx' a następnie pomiar temperatury- więc tu był pierwszy błąd. Gdy to poprawiłem to wówczas wystąpił problem z 'maxx', które zawsze przyjmowało wartość 85 (domyślna wartość z DSa) a z tym poradziłem sobie w ten sposób,  że przed while(1) wysyłam konwersje i odczyt temperatury. Wówczas jak program wchodzi do while(1) działa już prawidłowo <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Co do cyklicznego bufora to próbowałem zastosować na razie pomysł kolegi  Jado, a że było już późno to nie skończyłem. Jest jeszcze coś do poprawy bo nie działa tak jak powinien. Póki co fragment kody wygląda tak. <br /><br />[syntax=c]<br />uint8_t dane[50];<br />while(1)<br />{<br />.<br />.<br />if(!Tim2)  //zapis temer do tablicy co 500ms<br />{<br />Tim2=50;<br />wskaznik++;<br />dane[wskaznik]=temper;<br />if(wskaznik == 49) {wskaznik = 0;}<br />       }<br /><br />lcdCls(); //czyszczenie lcd<br /><br />for(t=1; t&lt;wskaznik; t++)  //rysowanie<br />        {<br />SetPixel(t, dane[t]);        //void SetPixel(unsigned char x, unsigned char y);<br />        }<br /><br />        for(t=wskaznik; t&lt;49; t++)<br />       {<br />       SetPixel(t, dane[wskaznik+t]);<br />       }<br /><br />} //while(1)<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 31 sty 2013, o 09:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jado]]></name></author>
<updated>2013-01-30T16:43:07+01:00</updated>
<published>2013-01-30T16:43:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26298#p26298</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26298#p26298"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26298#p26298"><![CDATA[
Wygląda na to , że Twoja zmienna temper musi co jakiś czas przyjmować wartość 0. <br />O ile górny warunek nigdy nie będzie w takim układzie spełniony, to dolny tak.<br />Wówczas wartość 0 jest przepisywana do minn i pozostaje już tam na stałe. <br />Podstaw zamiast temper jakąś stała liczbę i sprawdź jak wówczas działają oba warunki.<br />Tzn. gdzieś wcześniej w programie zrób np.:  temper=20;   <br />Możesz też podstawić sobie tymczasowo wartość licznika TIM3 zamiast temper, żeby wartość zmiennej się zmieniała (wartość zmiennej temper z innego źródła wówczas będzie)<br />Wtedy zorientujesz się czy przyjmowanie wartości 0 przez temper jest gdzieś wyżej w innych procedurach, czy może problem dotyczy tylko tej procedury (co wydaje się wątpliwe, ale zawsze warto sprawdzić)<br />Nie wiem jakie procedury mierzą temperaturę - może tam jest jakiś błąd.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=852">Jado</a> — 30 sty 2013, o 16:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lukasz89]]></name></author>
<updated>2013-01-30T15:53:50+01:00</updated>
<published>2013-01-30T15:53:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26297#p26297</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26297#p26297"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26297#p26297"><![CDATA[
Wartość min max nie powinny być odwrotnie ? mówię o :[syntax=c]volatile int8_t minn = 80;<br />volatile int8_t maxx = 0;[/syntax]<br />chyba że nie rozumiem idei<br />----------------<br />Ed: ok czaje <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />pytanie jaki typ ma tempr? w jakim zakresie zapodajesz temperatury i czym się objawia to nie działanie warunku ? nie wchodzi w ifa czy wchodzi zawsze ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=590">Lukasz89</a> — 30 sty 2013, o 15:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-01-30T15:32:32+01:00</updated>
<published>2013-01-30T15:32:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26295#p26295</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26295#p26295"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26295#p26295"><![CDATA[
Ale co ma tablica cykliczna do nie działającego warunku if() cztery posty wyżej. Nie będę mógł sprawdzić żadnej tablicy dopóki nie będę miał wyliczonej maksymalnej i minimalnej wartości temperatury. Te wartości są mi potrzebne aby dopasować skalę na osi 'y'. <br />Chodzi oto, że teraz wyszedł mi inny problem, aby przejść dalej muszę wiedzieć dlaczego nie działa mi warunek if(). Dla przypomnienia jeszcze raz wklejam powyższy post:<br /><br /> <div class="quotetitle">qutrit napisał(a):</div><div class="quotecontent"><br />Witam,<br />Kurcze wczoraj jak siadłem przy kompie, żeby zrealizować ten pomysł z tablicą, to poszedłem spać dzisiaj i pomysłu nie zrealizowałem, bo taka oto pierdołka zajęła mi cały czas. <br />Dlaczego warunek z 'maxx' działa poprawnie i wyświetla poprawnie, a warunek z 'minn' nie działa tzn. wyświetla cały czas 0 ???<br />Jeżeli zamiast 'temper' i 'minn' wstawię konkretne liczby to działa poprawnie. Dziwi mnie to bardzo, bo warunek z 'if(temper &gt;=maxx) działa zawsze poprawnie. Spędziłem nad tym pół nocy bo aż wstyd mi było pisać z taką rzeczą ale nie mam wyjścia, boi nie wiem gdzie jest błąd <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />[syntax=c]<br />volatile int8_t minn = 80;<br />volatile int8_t maxx = 0;<br />if(!Tim3)<br />    {<br />Tim3=15;<br /><br />if(temper &gt;= maxx) //ten warunek działa poprawnie (bez względu czy są to konkretne liczby, czy w postaci zmiennych temper i maxx<br />{<br />maxx=temper;<br />}<br /><br />if(temper &lt;= minn)  //ten warunek działa poprawnie wówczas gdy są konkretne liczby np. if(9&lt;=10)<br />{<br />                                         minn=temper;<br />}<br />     }<br />.<br />.<br />.<br />lcdGoTo(0,0);<br />lcdWrite_Int(maxx,10); //wyświetla dobrze<br /><br />lcdGoTo(0,1);<br />lcdWrite_Int(minn,10); //wyświetla 0<br /><br />lcdGoTo(100,3);<br />lcdWrite_Int(temper,10); //bieżąca temperatura (działa poprawnie)<br />[/syntax]<br /></div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 30 sty 2013, o 15:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-01-30T15:10:19+01:00</updated>
<published>2013-01-30T15:10:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26293#p26293</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26293#p26293"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26293#p26293"><![CDATA[
Część trzecia, tak mniej więcej w połowie poradnika jest o maskowaniu.<br /><br />PS. Nadal nie odpowiedziałeś na zadane wyżej pytanie, czy to ma być coś na zasadzie rrdtools?<p>Statystyki: Napisane przez Gość — 30 sty 2013, o 15:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-01-30T15:06:06+01:00</updated>
<published>2013-01-30T15:06:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26292#p26292</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26292#p26292"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26292#p26292"><![CDATA[
Nie próbowałem (ale wiem o czym mowa bo poradnik oglądałem), bo teraz mam inny problem o którym napisałem dwa posty wyżej. Nie wiem dlaczego nie działa mi zwykły warunek if()<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 30 sty 2013, o 15:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-01-30T14:56:30+01:00</updated>
<published>2013-01-30T14:56:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26290#p26290</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26290#p26290"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26290#p26290"><![CDATA[
Próbowałeś &quot;myku&quot; Mirka z maskowaniem? z użyciem bufora cyklicznego? W poradniku o strukturach i grze snake, jest to ciekawie rozwiązane.<p>Statystyki: Napisane przez Gość — 30 sty 2013, o 14:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lukasz89]]></name></author>
<updated>2013-01-30T14:23:31+01:00</updated>
<published>2013-01-30T14:23:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26286#p26286</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26286#p26286"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26286#p26286"><![CDATA[
Ja ostatnio na potrzeb mojego programu popełniłem taką funkcjię może się przyda. Jedyna róznica to fakt, ze ja najnowszy pomiar umieszczam na pozycji [0] tablicy.<br />[syntax=c]void przesun_tablice(uint16_t * tablica, uint16_t new, uint8_t dlugosc)<br />{<br />uint8_t indeks;<br />for(indeks = (dlugosc-1); indeks&gt;=1; indeks--)tablica[indeks]=tablica[indeks-1];<br />tablica[0]=new;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=590">Lukasz89</a> — 30 sty 2013, o 14:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-01-30T08:51:40+01:00</updated>
<published>2013-01-30T08:51:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26274#p26274</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26274#p26274"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26274#p26274"><![CDATA[
Witam,<br />Kurcze wczoraj jak siadłem przy kompie, żeby zrealizować ten pomysł z tablicą, to poszedłem spać dzisiaj i pomysłu nie zrealizowałem, bo taka oto pierdołka zajęła mi cały czas. <br />Dlaczego warunek z 'maxx' działa poprawnie i wyświetla poprawnie, a warunek z 'minn' nie działa tzn. wyświetla cały czas 0 ???<br />Jeżeli zamiast 'temper' i 'minn' wstawię konkretne liczby to działa poprawnie. Dziwi mnie to bardzo, bo warunek z 'if(temper &gt;=maxx) działa zawsze poprawnie. Spędziłem nad tym pół nocy bo aż wstyd mi było pisać z taką rzeczą ale nie mam wyjścia, boi nie wiem gdzie jest błąd <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />[syntax=c]<br />volatile int8_t minn = 80;<br />volatile int8_t maxx = 0;<br />if(!Tim3)<br />    {<br />Tim3=15;<br /><br />if(temper &gt;= maxx) //ten warunek działa poprawnie (bez względu czy są to konkretne liczby, czy w postaci zmiennych temper i maxx<br />{<br />maxx=temper;<br />}<br /><br />if(temper &lt;= minn)  //ten warunek działa poprawnie wówczas gdy są konkretne liczby np. if(9&lt;=10)<br />{<br />                                         minn=temper;<br />}<br />     }<br />.<br />.<br />.<br />lcdGoTo(0,0);<br />lcdWrite_Int(maxx,10); //wyświetla dobrze<br /><br />lcdGoTo(0,1);<br />lcdWrite_Int(minn,10); //wyświetla 0<br /><br />lcdGoTo(100,3);<br />lcdWrite_Int(temper,10); //bieżąca temperatura (działa poprawnie)<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 30 sty 2013, o 08:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jado]]></name></author>
<updated>2013-01-29T16:50:47+01:00</updated>
<published>2013-01-29T16:50:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26224#p26224</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26224#p26224"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26224#p26224"><![CDATA[
<div class="quotetitle">qutrit napisał(a):</div><div class="quotecontent"><br />Chodzi koledze o taki fakt:<br />buf[5]={1,2,3,4,5};<br />przychodzi nowa dana d=8; i ten wskaźnik o którym mowa miałby wskazywać miejsce w tablicy ? tzn. wskaźnik =3; wówczas buf[3]=8; i otrzymamy byf[5] = {1,2,3,8,5}; A na wyświetlacz wysyłać elementy tablicy zaczynając od 'wskaźnik+1' przy czym muszę zrobić warunek, że jeżeli wskaźnik dojdzie do 'końca tablicy&quot; to żeby przemieścił się na początek i doszedł do miejsca gdy wskaźnik = 3 ??? <br />Dobrze rozumuję ???<br /></div><br />Dobrze <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" />   <br />Najlepiej to sobie przesymulować w głowie lub na papierze - co się będzie działo przy zmieniającym się wskaźniku ( buf[wskaznik] )- gdzie liczby będą się wpisywały, skąd odczytywały itd.... I czy to pasuje do tego co chcemy osiągnąć <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" />  <br />Zwłaszcza uważać na przekraczanie rozmiaru bufora i &quot;zawijanie&quot; wskaźnika w tym momencie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=852">Jado</a> — 29 sty 2013, o 16:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-01-29T15:03:27+01:00</updated>
<published>2013-01-29T15:03:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26220#p26220</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26220#p26220"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26220#p26220"><![CDATA[
Nie wiem czy dobrze rozumiem, ale chodzi chyba o to by dane przylatujące na wyświetlacz przesuwały się od prawej do lewej, czyli mamy zapełniony cały wyświetlacz, bach, przychodzi nowa dana, więc wszystkie pozostałe mają być przesunięte o jeden w lewo?<br /><br />Ma kolega zieloną książkę. Zresztą na blogu w opisie o warstwach na LCD, co prawda nie stricte graficznym, ale zasada jest podobna, z przesuwaniem napisów<br /><br />Chodzi koledze, o zrobienie takiego rrdtools, albo mrtg na AVRze.<br />Wtedy faktycznie &quot;kołowy&quot; bufor się nie nada, bo dane by nam pojawiały się od lewej strony, a pewnie chodzi o to by starsze dane były sukcesywnie zastępowane nowszymi. Bo tak od lewej będą nam pojawiać się nowsze dane, ale po prawej będą ostatnie pokazane, a to trochę bez sensu, dla monitoringu.<p>Statystyki: Napisane przez Gość — 29 sty 2013, o 15:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-01-29T14:54:04+01:00</updated>
<published>2013-01-29T14:54:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26219#p26219</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26219#p26219"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26219#p26219"><![CDATA[
Fakt faktem, nawet mnie się wydaje, że sposób który przedstawiłem jest bardzo toporny. <br />Tak szczerze pisząc, to nie za bardzo rozumiem pomysł który kolega przedstawił. Wskaźnik zapisu w sensie *wsk, czy rozumiany jako numer elementu bufora[] ?<br />Chodzi koledze o taki fakt:<br />buf[5]={1,2,3,4,5};<br />przychodzi nowa dana d=8; i ten wskaźnik o którym mowa miałby wskazywać miejsce w tablicy ? tzn. wskaźnik =3; wówczas buf[3]=8; i otrzymamy byf[5] = {1,2,3,8,5}; A na wyświetlacz wysyłać elementy tablicy zaczynając od 'wskaźnik+1' przy czym muszę zrobić warunek, że jeżeli wskaźnik dojdzie do 'końca tablicy&quot; to żeby przemieścił się na początek i doszedł do miejsca gdy wskaźnik = 3 ??? <br />Dobrze rozumuję ???<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 29 sty 2013, o 14:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jado]]></name></author>
<updated>2013-01-29T14:22:32+01:00</updated>
<published>2013-01-29T14:22:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26215#p26215</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26215#p26215"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26215#p26215"><![CDATA[
Ja bym na Twoim miejscu zastanowił się, czy w ogóle warto porządkować bufor. <br />Wystarczy przecież utworzyć sobie wskaźnik zapisu, który po osiągnięciu końca bufora, zeruje się i zaczyna od początku (tzw. przewinięcie).  Tak więc stare dane, są kasowane i w to miejsce &quot;wchodzą&quot; nowe dane.  A odczyt danych dajesz od adresu 'wskaźnik_zapisu+1' (również z przewinięciem).<br />W ten sposób początek i koniec bufora przesuwa Ci się, ale nie musisz tracić czasu na przepisywanie wszystkich danych bufora po każdym zapisie nowego elementu (a przy dużej ilości danych to może sporo zająć). <br />Ale oczywiście dla celów edukacyjnych można sprawdzić jak działa porządkowanie bufora (może się to przydać przy innych projektach - choć zawsze wiąże się to z dodatkowym narzutem czasowym na przepisywanie bajtów).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=852">Jado</a> — 29 sty 2013, o 14:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-01-29T13:09:23+01:00</updated>
<published>2013-01-29T13:09:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26202#p26202</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26202#p26202"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26202#p26202"><![CDATA[
Właśnie coś wymyśliłem:<br /><br />[syntax=c]<br />bufor[100];<br />if(jeśli przybyła nowa wartość)<br />{<br />   for(int a = 0; a&lt;100; a++)<br />   {<br />   bufor[a]=bufor[a+1];<br />   }<br />bufor[100] = nowa wartosc;<br />}<br /><br />[/syntax]<br /><br />Na pierwszy rzut oka powinno działać <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=766">qutrit</a> — 29 sty 2013, o 13:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-01-29T13:08:54+01:00</updated>
<published>2013-01-29T13:08:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26201#p26201</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26201#p26201"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26201#p26201"><![CDATA[
<div class="quotetitle">qutrit napisał(a):</div><div class="quotecontent"><br />Książki posiadam obydwie, a że nie przerabiałem jeszcze RS232 i UARTa, to dlatego nie natrafiłem na te cykliczne tablice. .<br /></div><br /><br />Czyli niestety popełniasz częsty błąd niektórych czytelników, którzy książki nie przeczytają chociaż JEDEN raz w całości od początku do końca tylko wybiórczo <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> ..... Zwykle tak to się kończy .....<br /><br />Wiem wiem - skorowidz by się przydał jak piszesz mi na PRIV, ale niestety ja nie byłem w stanie go zrobić - za to na naszym forum nasz szanowny kolega Jaglarz - zrobił przecież SKOROWIDZ do niebieskiej książki <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> - nic tylko korzystać<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 sty 2013, o 13:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-01-29T12:38:38+01:00</updated>
<published>2013-01-29T12:38:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26188#p26188</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26188#p26188"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26188#p26188"><![CDATA[
Zastosuj pomysł (kolegi Antystatyczny) z rozmiarem bufora takim jak szerokość wyświetlacza. Z tego tematu<br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic1700-90.html#p23804" >topic1700-90.html#p23804</a><!-- l --><p>Statystyki: Napisane przez Gość — 29 sty 2013, o 12:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-01-29T12:27:58+01:00</updated>
<published>2013-01-29T12:27:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26185#p26185</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26185#p26185"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26185#p26185"><![CDATA[
Książki posiadam obydwie, a że nie przerabiałem jeszcze RS232 i UARTa, to dlatego nie natrafiłem na te cykliczne tablice. Zobaczę dziś wieczorem. <br />Pisząc krótko: mam wyświetlacz 128x64 i chciałem aby na nim wyświetlała się historia temperatury w postaci wykresu. Dla tego pomyślałem o takiej właśnie tablicy[100] (buforze). Wszystko ładnie działa dopóki &quot;jest miejsce&quot; na wyświetlaczu. Wykres dochodzi do krawędzi LCD i jak na razie lipa. Opisałem teraz szczegółowiej problem, bo może jest zupełnie inne prostsze rozwiązanie.  <br />Póki co, dzięki za odpowiedzi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 29 sty 2013, o 12:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-01-29T12:16:13+01:00</updated>
<published>2013-01-29T12:16:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26181#p26181</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26181#p26181"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26181#p26181"><![CDATA[
<div class="quotetitle">nixie napisał(a):</div><div class="quotecontent"><br />Do tego najlepiej nadawał by się bufor cykliczny tylko ilość elementów takiego bufora musi być 2^n czyli 4, 8, 16, 32.... Niebieska książka, rozdział o rs232 albo poradnik Mirka <a href="http://mirekk36.blogspot.com/2012/12/wskazniki-struktury-callbacki-jazda-bez.html#more"  class="postlink">http://mirekk36.blogspot.com/2012/12/wskazniki-struktury-callbacki-jazda-bez.html#more</a><br /></div><br /><br />dokładnie - buforek cykliczny tu się kłania i bardzo dobra sugestia, podpowiedź itp<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 sty 2013, o 12:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[nixie]]></name></author>
<updated>2013-01-29T12:13:19+01:00</updated>
<published>2013-01-29T12:13:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26179#p26179</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26179#p26179"/>
<title type="html"><![CDATA[Re: Tablica przesuwna ? Nawet nie wiem jak to nazwać]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2215&amp;p=26179#p26179"><![CDATA[
Do tego najlepiej nadawał by się bufor cykliczny tylko ilość elementów takiego bufora musi być 2^n czyli 4, 8, 16, 32.... Niebieska książka, rozdział o rs232 albo poradnik Mirka <a href="http://mirekk36.blogspot.com/2012/12/wskazniki-struktury-callbacki-jazda-bez.html#more"  class="postlink">http://mirekk36.blogspot.com/2012/12/wskazniki-struktury-callbacki-jazda-bez.html#more</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=358">nixie</a> — 29 sty 2013, o 12:13</p><hr />
]]></content>
</entry>
</feed>