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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-07-03T15:45:13+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=7649&amp;mode</id>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-03T15:45:13+01:00</updated>
<published>2014-07-03T15:45:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86552#p86552</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86552#p86552"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86552#p86552"><![CDATA[
<div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />Obecnie staram sie na PC odbierac wyslane stringi z AVR, jesli po wyslaniu jedenego &quot;wsadu&quot; do sterownika diod bede mogl odebrac informacje, ze AVR jest gotow na wyslanie kolejnej nowej tablicy (nowego wsadu) to moze to zadziala ?<br />Nie wiem tylko jak to sie sprawdzi przy, wiekszych predkosciach zmian ekranu ?<br /></div><br /><br />a jak wg. Ciebie sprawdzi się takie coś ? Czy to jest realne ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 3 lip 2014, o 15:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-03T14:29:26+01:00</updated>
<published>2014-07-03T14:29:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86548#p86548</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86548#p86548"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86548#p86548"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Zrozumiałem że:<br />1. Chcesz wyświetlać na panelu statyczne teksty co 1 lub 0.5 sek.<br />2. Chcesz od strony PC komunikować się RS232 z urządzeniem posiadającym jakiś AVR i sterującym SPI panelem.<br /></div><br /><br />Tak to sie zgadza, chce wygenerowac sobie recznie badz programowo z PC rozne literki cyferki, obrazki, piktogramy i itd. Nastepnie zapisac je sobie w programie w postaci Tabeli[x][252], gdzie x to ilosc ekranow do wyswietlenia. Nastepnie nastawic szybkosc sekwencji i ilosc iteracji i START --&gt; wszysko po ISP leci do panelu diod i zostaje wyswietlone, aż miło to zobaczyć <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Jeśli Cię dobrze zrozumiałem to sensownym rozwiązaniem wydaje się trzymanie wzorów czcionek w pamięci flash mikrokontrolera <br />i przetrzymywanie samych napisów w pamięci RAM.<br /></div><br /><br />Udało mi się już to zrobić, zmieniałem w programie AVR jasności piktogramu itd. Niestety w ten sposób projekcik ten traci na atrakcyjności i uniwersalności. Marzy mi się ręczne ustawienie piktogramów w każdej chwili z PC bez ciągłego wgrywania nowego wsadu z nowymi &quot;ekranami&quot; we Flash-u.<br /><br /><div class="quotetitle">mokrowski napisał(a):</div><div class="quotecontent"><br />Jeśli i on Cię nie zadowala, znajdź wersję z interfejsem XMEM (poruszamy się w obszarze ATmega). Ten interfejs pozwala podłączyć pamięć<br />do ATmegi tak że traktuje ona ją jak ,,przedłużenie&quot; tej w mikrokontrolerze. Najmniejsze to: ATmega8515, ATmega162...<br /></div><br /><br />Muszę powiedzieć, że o tym to nie słyszałem. Nastawiając w mkAVR Calculator atmega161 widzę:<br />Flash 16 384<br />EEPROM 512<br />INT RAM 1 024<br />EXT RAM 64 512<br /><br />rozumiem, że w tym wypadku chodzi o EXT RAM &gt;?  Czy zapis i odczyt z EXT RAM jest prosty czy tutaj zaczynają się nowe schody ? Czy mam rozumiec ze ta pojemność EX RAM już tam jest czy w tym wypadku mogę podłączyć pamięć do atmegi i maksymalna jej ilość po podłączeniu to 64 512 ?<br /><br /><div class="quotetitle">mokrowski napisał(a):</div><div class="quotecontent"><br />Czy Ty o to pytałeś, o informacje dotyczące architektury rozwiązania czy o problemy programistyczne?<br /></div><br /><br /><br />W pierwszy poście pisałem o pomoc programistyczną, gdyż modyfikując program z GreenBooka odnośnie komend AT w celu przesłania wskaźnika Tabeli, gdzie sczytane mają zostać wartości z UART-a, zmodyfikować musiałem dość sporo funkcji (modyfikować to za duże słowo, po prostu musiałem dodać nowy argument) i zastanawiam się czy nie mogłem zrobić jakiegoś globalnego wskaźnika czy innego trick-u obcego początkującym.<br /><br />A następnie z czasem rozmowy wyszły kolejne problem z tym jak taki projekt ugryźć i co będzie potrzebne. <br />Dzięki za pomoc !<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 3 lip 2014, o 14:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-03T11:49:54+01:00</updated>
<published>2014-07-03T11:49:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86536#p86536</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86536#p86536"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86536#p86536"><![CDATA[
...zawsze staram sie opisywac rzeczy jak najdokladniej i tak jak rozumiem dany problem, aby zobaczyc czy aby na pewno dobrze wszystko pojmuje <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" />...pewnie stad tak slaby odzew na moje posty  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> <br /><br />...jakby ktos dal mi znac w jaki sposob podejsc do wysylania tych wielkich tablic bede bardzo wdzieczny.. <img src="https://forum.atnel.pl/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" title="Pan Zielony" /> <br /><br />W najblizszym czasie poprobuje z tym odezwem ze strony AVR do PC o wyswietlanym aktualnie &quot;ekranie&quot; i zezwoleniu na nadpisanie Tablicy tak, aby po wyswietleniu wczesniejszego mozna przejsc do tej nowo nadpisanej.<br />Nie wiem czy to zadziala, nie mam zadnej praktyki w tym temacie... <img src="https://forum.atnel.pl/images/smilies/icon_rolleyes.gif" alt=":roll:" title="Udaje, że to nie on" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 3 lip 2014, o 11:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-07-03T11:02:06+01:00</updated>
<published>2014-07-03T11:02:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86534#p86534</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86534#p86534"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86534#p86534"><![CDATA[
Nie no to wychodzi na to - że mi się coś pomieszało (przez te długie opisy i dwa wątki twoje - podobne na forum)  - przepraszam <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> dlatego tak dopytywałem .... ale jeśli nie mówiłeś o ich porównywaniu to OK <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 lip 2014, o 11:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-03T08:18:56+01:00</updated>
<published>2014-07-03T08:18:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86530#p86530</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86530#p86530"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86530#p86530"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />niestety nie wyjaśniłeś po co ci porównywanie takich długich tablic albo się pogubiłem w tych wyjaśnieniach<br /></div><br /><br />Przepraszam, ale ja tez teraz nie rozumiem <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" />.<br />Wydaje mi sie, ze nigdzie nie wspominalem o porownywaniu tych dlugich tablic. Ja chce je jedynie przeslac z PC i wgrac do AVR i przeslac do sterownika LED w odpowiednich odcinkach czasowych (przeze mnie ustalonych, moga byc rozne badz takie same).<br /><br />Tak aby np. moc wyswietlac rozne teksty badz cyfry co 0.5 sec., dodatkowo co kazda iteracje np. zwiekszac jasnosc i itd.<br /><br />Jesli chodzi o porownywanie stringow, to z dzialu odnosnie komend AT interesuje mnie sposob rozpoznania komendy i wyluskiwanie wartosci PWM ze string-a. Tam bedzie uzyte porownanie kilku pierwszych znakow w celu wybrania &quot;funkcji serwisowej &quot;. Wydaje mi sie,ze to tyle uzywania porownywania stringow.<br /><br />Wydaje mi sie, ze nie rozumiem uzytego pojecia &quot;porownania tablic&quot;  <img src="https://forum.atnel.pl/images/smilies/icon_rolleyes.gif" alt=":roll:" title="Udaje, że to nie on" /><br /><br /><br />Obecnie staram sie na PC odbierac wyslane stringi z AVR, jesli po wyslaniu jedenego &quot;wsadu&quot; do sterownika diod bede mogl odebrac informacje, ze AVR jest gotow na wyslanie kolejnej nowej tablicy (nowego wsadu) to moze to zadziala ?<br />Nie wiem tylko jak to sie sprawdzi przy, wiekszych predkosciach zmian ekranu ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 3 lip 2014, o 08:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-07-03T08:06:25+01:00</updated>
<published>2014-07-03T08:06:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86529#p86529</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86529#p86529"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86529#p86529"><![CDATA[
niestety nie wyjaśniłeś po co ci porównywanie takich długich tablic albo się pogubiłem w tych wyjaśnieniach<br /><br />a dokładnie masz rację że wgrywanie takich dużych tablic jest hmmm mało trafionym pomysłem ... tzn wielu tablic<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 lip 2014, o 08:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-03T08:19:55+01:00</updated>
<published>2014-07-03T06:51:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86525#p86525</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86525#p86525"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86525#p86525"><![CDATA[
Postaram sie przyblizyc pomysl. Tak jak wspominalem w temacie:<br /><span style="color: #4040FF">http://forum.atnel.pl/topic867.html</span><br /><br />Mam tablice LED gdzie uzylem kilkanascie WS2803. Jest tam sporo diodek, ma to byc moj wyswietlacz Liter, Cyfr, czy obrazkow. Ot taka zabawka, na potrzeby polaczenia nauk z ksiazek, bloga i oczywiscei poradnikow na YT. Zastosowan takiej zabawki pewnie znajde sporo, ale skonstruowanie tego panelu no i teraz proba rozruchu trwa juz jaaaakis czas <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Ponizej wstawiam graficzna interpretacje co ma brac udzial w komunikacji i jak chce wysterowac moja tablice LED:<br /><a href="http://forum.atnel.pl/_obrazki/o/850/5ef42c98eedafa809a9e17d333865e00.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/850/5ef42c98eedafa809a9e17d333865e00.png" alt="Obrazek" /></a><br /><br />W tym wypadku mam juz program na PC, gdzie wybieram recznie jakie diody maja sie swiecic w pierwszej sekundzie, jakie w drugiej i itd. Powiedzmy, ze chce wyswietlac po kolei 10 liter, &quot;BLUE BOOK!&quot;<br />Ustawiam kazda literke recznie (odpowiadajace jej diody w Panelu), na PC zapisuje mi to w postaci Tablicy [10][252] i jestem gotowy do wysylu danych. Moge zapisac dany szablon do txt a nastepnie wczytac go spowrotem, wiec takich najrozniejszych obrazkow w sekwencji najchetniej wysylalbym wiecej anizeli 10  <img src="https://forum.atnel.pl/images/smilies/icon_cry.gif" alt=":cry:" title="Płacze" /> <br /><br />Tak jak wspomnialem ta czesc jest juz zrobiona i moge wyslac ciag danych w postaci stringow ASCII np.<br /><br />Dane nadchodzące z PC wyglądają następująco:<br /><br /><span style="color: #BF00FF">(Numer Paczki=1)</span><br />,E9,00,E9,E9,00,00,E9,00,00,00,00,E9,00,00,00,00,E9,E9,00,00,00,00,E9,00,00,00,00,00,00,00,00,E9,00,00,00,00,00,E9,00,00,00,00<br />od razu po niej wyslana<br /><span style="color: #BF00FF">(Numer Paczki=2)</span><br />,E9,00,00,00,00,00,E9,00,00,00,E9,00,00,00,E9,00,00,00,00,00,00,00,E9,00,00,00,00,00,00,00,E9,00,00,00,00,00,00,E9,00,00,00,00<br /><br />Dane to stringi, które są podzielone na kilka ‘paczek’ po około 130 znakow. W tym przykładzie dla kilku pinów ustalam PWM na poziomie 233, gdzie E9= 1110 1001.<br /><br /><strong>Teraz moj problem polega na tym jak to odebrac i wyslac do WS2803</strong>...najchetniej to wgralbym wszystkie tablice do AVR a potem po wyslaniu komendy START uruchomil sekwencje.<br />Niestety jestem mocno poczatkujacy i nie podejrzewalem, ze takie wgrywanie tablic tak zzera miejsce w RAM <img src="https://forum.atnel.pl/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" title="Pan Zielony" /> . <br /><br />Powoli koncza mi sie pomysly a zmniejszenie ilsoci znakow w sekwencji to troszke dolujace rozwiazanie <img src="https://forum.atnel.pl/images/smilies/icon_cry.gif" alt=":cry:" title="Płacze" /> <br /><br />Mam nadzieje, ze troszke rozjasnilem swoj zamiar.<br />Dzieki za pomoc !<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 43 minutach ]</span></strong><br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />chociaż w kolejnej mojej książce Yellowbook'u trochę zaburzę ten tok myślenia bo pokażę, że jednak można zapisywać do Flash  z poziomu programu<br /></div><br /><br />No to juz mi smaczku Pan narobil  <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" />  Prosze zarezerwowac jedna i dla mnie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Z okazji takich dobrych zoltych wiesci no i w celu wyjasnienia dlaczego drecze was takimi glupimi pytaniami ponizej wysylam zdjecia z procesu powstawania panelu <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><a href="http://forum.atnel.pl/_obrazki/o/850/6dfd602f2dd9bd6a65ef504f2c249872.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/850/6dfd602f2dd9bd6a65ef504f2c249872.JPG" alt="Obrazek" /></a><br />Jak sie uda to jakos ruszyc to oczywisce podesle wiecej <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Moze teraz zaintersuje innych do pomocy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />W sumie kazdy krok czy piasnia programu na AVR czy to do obslugi PWM czy do sterownika LED byl stawiany dzieki pomocy tego forum  <img src="https://forum.atnel.pl/images/smilies/icon_e_surprised.gif" alt=":o" title="Zdziwiony" /> <br /><br />Zauwazylem, ze wymyslajac sobie jakikolwiek projekt i powoli dazac do konca, mozna zrozumiec zagadnienie oraz zapamietac znaaacznie szybciej ! No i te nietypowe problemy jak tutaj <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />No nic pora wracac do roboty, a potem sprobowac ruszyc chociaz jedna literke  <img src="https://forum.atnel.pl/images/smilies/icon_rolleyes.gif" alt=":roll:" title="Udaje, że to nie on" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 3 lip 2014, o 06:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-07-03T06:38:48+01:00</updated>
<published>2014-07-03T06:38:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86524#p86524</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86524#p86524"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86524#p86524"><![CDATA[
dokładnie teraz dobrze <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... chociaż w kolejnej mojej książce Yellowbook'u trochę zaburzę ten tok myślenia bo pokażę, że jednak można zapisywać do Flash <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> z poziomu programu ... no ale na razie pamiętaj - że jest TYLKO do ODCZYTU żeby nie mieszać sobie w głowie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 lip 2014, o 06:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-03T06:52:05+01:00</updated>
<published>2014-07-03T06:36:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86523#p86523</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86523#p86523"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86523#p86523"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />wiesz co to znaczy że pamięć Flash jest &quot;TYLKO DO ODCZYTU&quot; czy nie wiesz?<br /></div><br /><br />kurcze nie zdazylem wczesniej wyslac swojego nowego posta. Po przejrzeniu Blue booka wydaje mi sie, ze juz zalapalem. Do Flash, mozemy zaladowac program, i zdefiniowane elementy jak np. Tablice ze stringami badz inne gotowe do wywolania dane na etapie programowania i wsadu do kontrolera. <br />Po zaladowaniu naszego programu, mozemy jedynie odczytywac 'zapisane kartki' ale dostepu do takiego 'zeszytu', nawet jesli jest w wiekszosci czysty, nie mamy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 3 lip 2014, o 06:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-07-03T06:35:43+01:00</updated>
<published>2014-07-03T06:35:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86522#p86522</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86522#p86522"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86522#p86522"><![CDATA[
Powiedz mi po co ci porównywać takie długie tablice przesyłane przez UART? pytam bo szczegółów twojego pomysłu nie mogę niestety kompletnie zrozumieć .... a wydaje mi się , że wymyślasz w tym momencie jakąś iście cyrkową sztuczkę i idziesz mega złą drogą ....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 lip 2014, o 06:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-03T06:32:14+01:00</updated>
<published>2014-07-03T06:32:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86521#p86521</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86521#p86521"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86521#p86521"><![CDATA[
Z tego co wyczytalem i przejrzalem na Forum, w pamieci FLASH zapisany jest kod progarmu i inne dane wykorzystywane do jego poprawnego dzialania jak np. jakies zdefiniowane skroty, uzywane teksty, obrazki, itd.<br />W RAM mamy natomiast stos, dane wygenerowane podczas uzytkowania programu, zmienne i itd.<br /><br />Wczesniejsze gdybania z ulokowaniem odebranej tablicy do pamieci FLASH z tego co rozumiem sa bledne a taki zabieg raczej niewykonywalny, gdyz we Flash-u definiujemy dane przed zaladowaniem naszego programu do kontrolera a po wsadzie nie mozna juz tam ingerowac - no jedynie odczytyawc dane, ktore wczesniej zaladowalismy podczas kompilacji i wgraniu programu do Flesh.<br /><br />Taki przyklad definicji tablic ze stringami oraz ich wywolywanie znalazlem na blogu Mirka ( zalaczam linka, bo pewnie wroce do tego za kilka dni <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ):<br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2013/11/tablica-wskaznikow-we-flash-progmem.html" >http://mirekk36.blogspot.com/2013/11/ta ... ogmem.html</a><!-- m --><br /><br />To teraz kolejne rozwiazanie to pamiec EEPROM, wewnetrzna badz zewnetrzna, niestety wewnetrzna jest zewnetrzne z tego co wyczytalem to mozna polaczyc kilka o innym adresie, aby uzyskac wieksza pojemnosc. Niestety przy moim obecnym stanie wiedzy programowania AVR, nauka obcowania z zew. EEPROM i zapis oraz odczyt danych, moglaby troche potrwac  <img src="https://forum.atnel.pl/images/smilies/icon_rolleyes.gif" alt=":roll:" title="Udaje, że to nie on" /> <br /><br />Z tematu:<br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic2559.html" >topic2559.html</a><!-- l --><br />widze dwa kolejne podejscia. Jedeno to zmienic kontroler na pojemniejszy np. na:<br />ATMega644:<br />Flash:64kx8bit; <br />EEPROM:2048B; <br />SRAM:4096B<br /><br />Drugie to uzyc karty SD (nauka zapisu i odbioru danych tego zagadnienia, a w niebieskiej ksiazce wspomniano, ze temat nie nalezy do najlatwiejszych ).<br /><br /><br />Nastepne rozwiazanie to nie ladowac tak wielkich tablic albo zmniejszyc ich ilosc do 2-3 <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />Kolejna rzecz jaka przychodzi mi do glowy to komunikacja pomiedzy AVR a PC. Po wyslaniu komendy AT START, PC wysle pierwsza cala tablice, a AVR po odbiorze przesle ja po ISP do kolejnego zewnetrznego urzadzenia.<br />Urzadzenie to bedzie wysterowane danymi z tablicy np. PWM dla LED1,3,5,10 = 166, i ten stan ma sie utrzymywac przez t1=1 sec. W tym przypadku timer bedzie zliczal ms, a po uplywie 1000 ms do wyslana powinna zostac kolejna tablica z nowym PWM do innych diod i stan ten trwac bedzie np t2=500 ms. <br /><br />Tak sobie rozmyslam czy w tych czasach t1 badz t2, kontroler nie moze wyslac informacji do PC ze tablica zostala wyslana i mozliwe jest wyslanie kolejnej ? W tym wypadku potrzebna bedzie mi jedna tablice [252], ktora bedzie update-wana po wyslaniu jej do zewnetrznego urzadzenia i przeslana ponownie po uplywie wyznaczonego czasu.  Jak to widzicie ?<br /><br />Czy przypadkiem np. stan t3=10ms nie bedzie za krotki na taka komunikacje pomiedzy AVR PC a PC AVR lacznie z wyslaniem stringa i jego odebraniem, przygotowaniem go do wysylu (konwersja z ASCII na HEX) i wyslaniem do sterownika LED ?<br /><br />Czy jest to do zrobienia, a moze da sie zrobic cos lepiej i latwiej ? Jesli znowu wypisuje jakies wlasne teorie to z gory przepraszam, ale jak to sie mowi tonacy brzydko sie chwyta  <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 3 lip 2014, o 06:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-07-03T06:26:46+01:00</updated>
<published>2014-07-03T06:26:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86520#p86520</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86520#p86520"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86520#p86520"><![CDATA[
przed chwilą pisałeś że niby zrozumiałeś <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br /><br /><div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />oczywiscie znowu cos pokielbasilem.<br /><br />Wrocilem znowu do dzialu 'tablice jako argument funkcji' i teraz widze, ze we Flash-u mozna definiowac tablice jedynie do odczytu zdefiniowanych w niej wartosci, a natomiast zapisywac mozemy jedynie w RAM i EEPROM<br /></div><br /><br />a tu znowu piszesz:<br /><br /><div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />znowu zapisac do Flash jako TAB2[252]<br /></div><br /><br />więc zastanów się proszę ... i nie wypisuj takich rzeczy bo się totalnie już pokręcisz<br /><br /><div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />Pamiec Flash jest na tyle pojemna, aby z latwoscia przetrzymywac przeslane tablice, po odebraniu komendy START<br /></div><br /><br />wiesz co to znaczy że pamięć Flash jest &quot;TYLKO DO ODCZYTU&quot; czy nie wiesz?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 lip 2014, o 06:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-03T03:31:35+01:00</updated>
<published>2014-07-03T03:31:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86518#p86518</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86518#p86518"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86518#p86518"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />w bluebooku na pewno nic takiego nie napisalem<br /></div><br />oczywiscie znowu cos pokielbasilem.<br /><br />Wrocilem znowu do dzialu 'tablice jako argument funkcji' i teraz widze, ze we Flash-u mozna definiowac tablice jedynie do odczytu zdefiniowanych w niej wartosci, a natomiast zapisywac mozemy jedynie w RAM i EEPROM.<br />No tak, ale gdy nie starcza RAM-u, a i wewnetrzny EEPROM to za malo. Z tego co mi sie wydaje to jest jeszcze nadzieja w zewnetrznej pamieci EEPROM  <img src="https://forum.atnel.pl/images/smilies/icon_e_ugeek.gif" alt=":ugeek:" title="Świr, i to jaki!" />  ?<br /><br />Z drugiej strony skoro mozemy jedynie odczytywac zawartosci zdefiniowanych tablic we Flash-u to przy projekcie, gdzie chcemy odebrac np. 10 tablic po UART-cie i zachowac je &quot;gdzies&quot; tak, aby po odbiorze np. komendy AT START, wszystkie tablice zostaly przeslane po kolei do innego urzadzenia. <br /><br /><span style="text-decoration: underline">Cos mi sie wydaje, ze powininem to zrobic nastepujaco:</span><br />1) odebrac ciag stringow do tablica[252]<br />2) zdefiniowac ta tablice jako TAB1[252] do pamiecia Flash;<br />3) Zapisac kolejny ciag stringow do tej samej tablicy w RAM  tablica[252]<br />4) po debraniu kolejnego calego string-a znowu zapisac do Flash jako TAB2[252]<br />itd. az do odebrania wszystkich tablic<br /><br />W tym przypadku, w RAM-ie potrzebne nam bedzie dodatkowe 252 bajty, a nie tak jak poprzednio 2520. Pamiec Flash jest na tyle pojemna, aby z latwoscia przetrzymywac przeslane tablice, po odebraniu komendy START.<br />Tylko czy taki zabieg sie da zrealizowac ? Mogli zabrac polowe pojemnosci z Flash i przydzielic do RAM-u, zycie byloby latwiejsze  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> <br /><br />Mam jeszcze kilka pytan odnosnie pamieci Flash, ale wpierw wroce do Blue book-a, zeby nie wypalic z kolejna glupota <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" /><br /><br />Dacje mi znac, w ktorym kierunku ruszyc bo pewien nie jestem czy moge ot tak w po wykonaniu jednej funkcji i odebraniu stringa, zapisac go do Flash (oczywiscie bez jakiejkolwiek mozliwosci jego modyfikacji).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 3 lip 2014, o 03:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-07-02T16:44:03+01:00</updated>
<published>2014-07-02T16:44:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86493#p86493</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86493#p86493"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86493#p86493"><![CDATA[
Dokladnie skad pomysl ze tablice we flashu mozna zmieniac ... w bluebooku na pewno nic takiego nie napisalem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 2 lip 2014, o 16:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ciamciak]]></name></author>
<updated>2014-07-02T16:26:44+01:00</updated>
<published>2014-07-02T16:26:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86492#p86492</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86492#p86492"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86492#p86492"><![CDATA[
Samym wskaźnikiem nie ruszysz danych we flashu.<br />Jest możliwość zapisu przez program (poczytaj np. o bootloaderch), ale to grubsza sprawa.<br />Także standardowo flash należy traktować jako pamięć tylko do odczytu, czyli zainicjować zmienne/tablice docelowymi wartościami.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1254">ciamciak</a> — 2 lip 2014, o 16:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-02T16:08:26+01:00</updated>
<published>2014-07-02T16:08:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86491#p86491</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86491#p86491"/>
<title type="html"><![CDATA[Re: ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86491#p86491"><![CDATA[
Dodatowo mam kolejne pytanie. Czytałem Blue Booka odnośnie tablic i z tego co zrozumiałem to po inicjalizacji tablicy np. char TAB[100] i po skompilowaniu i wgraniu programu zabieg ten powinien mi zarezerwować 100 bajtów w pamięci Flash, w celu zaoszczędzenia miejsca w pamięci RAM. Następnie wartości w tablicy ulokowanej w Flash-u mogę podmieniać za pomocą wskaźników. Z noty katalogowej: <br /><br />pamięci Flash32kx8bit<br />pamięci EEPROM1024B<br />pamięci SRAM2048B<br /><br />W moim projekcie chcę sczytać po UART-cie kilka tablic 252 elementowych a następnie przesłać je do kolejnego urządzenia.<br />Poniżej inicjalizuje i dostaję przepełnienie pamięci:<br /><a href="http://forum.atnel.pl/_obrazki/o/850/7e78d209a3654e9b300d207be8edea7e.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/850/7e78d209a3654e9b300d207be8edea7e.jpg" alt="Obrazek" /></a><br /><br />10 * 252 = 2520 B, więc rozumiem, że pamięć RAM jest przepełniona ale czemu tablice 2D nie została ulokowana we Flash ? <br /><br />Dlaczego wyświetla mi się informacja, że program jest przepełniony do 148.4%, lecz po kompilacji nie dostaję żadnego błędu czy warning-u ?<br /><br />Z tego co rozumiem to  PROGMEM powinien sugerować kompilatorowi umieszczenie danych we Flash, ale dodatkwo Tab[10][252] PROGMEM powinien mieć podane zawartości tablicy. Wydawało mi się, że po inicjalizacji wszystkie komórki powinny mieć wartość zero i nie powinno być żadnego warning-a, no a tu skucha  <img src="https://forum.atnel.pl/images/smilies/icon_e_confused.gif" alt=":?" title="Boi się" />  :<br /><a href="http://forum.atnel.pl/_obrazki/o/850/b3916fe881a8e4d617cb089f301e243d.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/850/b3916fe881a8e4d617cb089f301e243d.jpg" alt="Obrazek" /></a><br /><br />Jednak porównując dwa screen-y widzimy, że pamięć programu nie przekracza już 100 % i dane przeniosły się do pamięci Flash ?<br /><br />ile zajmuje Tablica 2D =&gt;252*10=<span style="color: #4000FF">2520 B</span><br />o ile zwiekszyło się zajęcie we Flash =&gt; 6362 -3842 = <span style="color: #4000FF">2520 B</span><br /><br />Z wyliczeń wszystko się zgadza, ale skąd ten warning ? Jakie wartości mam w tejże tablicy 2D ? Nie są to same zera ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 2 lip 2014, o 16:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-03T08:43:48+01:00</updated>
<published>2014-07-02T09:56:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86464#p86464</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86464#p86464"/>
<title type="html"><![CDATA[ASCII AT - kombinacje z Tablicami - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7649&amp;p=86464#p86464"><![CDATA[
Witam Wszystkich, <br /><br />Ostatnio staram sie zmodyfikowac kod z Green Booka, a dokladnie dzial dotyczacy ASCII AT. Pierwszy krok to zapisanie do tablicy  TAB  odebranego stringa po odebraniu odpowiedniej komendy AT, a wlasciwie jego czesc bez komendy AT.<br /><br />Oczywiscie caly zabieg przypisu wyslanego ciagu znakow ASCII do TAB odbywa sie w obsludze poszczegolnych komenda AT, jak np. :<br /><br />[syntax=c]int8_t at_pwm_service(uint8_t inout, char * params, char * wskTabPWM) {<br />if (1 == inout) {<br />uint8_t i=0;<br />for (i = 0; i &lt; strlen(params); i ++){<br />wskTabPWM&#91;i&#93;=params&#91;i&#93;;<br />}<br />uart_puts(&quot;PWM string received Modified: \r\n&quot;);<br />uart_puts(wskTabPWM);<br />uart_puts(&quot;\r\n&quot;);<br />// sprawdzamy czy sa parametry, jeli nie to blad<br />if (!strlen(params)) {<br />return -1;<br />uart_puts(&quot;Error Empty Params \r\n&quot;);}<br />}[/syntax]<br /><br />Wiec, przy inicjalizacji tablicy na TAB={&quot;ATNEL&quot;}, i wyslaniu stringa PWM=OK +(CR) otrzymuje:<br /><img src="http://forum.atnel.pl/_obrazki/o/850/826dbdea6b6bc92fe65d2fac92ff3782.GIF" alt="Obrazek" /><br /><br /><br />Wszystko dziala tak jak powinno, nadpisalo nam jedynie odebrane znaki, pozostawiajac koncowke EL.<br /><br />Na tym etapie chcialbym was prosic o pomoc. <br />W celu wyslania adresu do tablicy TAB musialem zmodyfikowac m.in. nastepujace czesci kodu i przekazywac w nich wskaznik to tablicy <strong><span style="color: #FF00BF">*wskPWM</span> :</strong><br /><br />[syntax=c]// deklaracje funkcji<br />void parse_uart_data( char * pBuf , char * wskPWM );<br /><br />// wskaznik do funkcji callback dla zdarzenia UART_RX_STR_EVENT()<br />static void (*uart_rx_str_event_callback)  (char * pBuf, char * wskPWM );<br /><br />// funkcja do rejestracji funkcji zwrotnej w zdarzeniu UART_RX_STR_EVENT()<br />void register_uart_str_rx_event_callback(void (*callback)(char * pBuf, char * wskPWM )) {<br />uart_rx_str_event_callback = callback;<br />}[/syntax]<br /><br />Oczywiscie musialem zmodyfikowac wszystkie funkcje serwisowe w polecenia_at[AT_CNT]:<br />[syntax=c]int8_t at_service(uint8_t inout, char * params, char * wskTabPWM);[/syntax]<br />No i w pliku main.c dodalem adres poczatku tablicy:<br />[syntax=c]while (1) {<br /><br />UART_RX_STR_EVENT(bufor,Tablica); // zdarzenie odbiorcze UART<br /><br />}[/syntax]<br /><br /><span style="color: #0000FF">Moje pytanie to, w jaki sposob z latwoscia przeniesc wskaznik do tablicy zainicjonowanej w pliku main.c  do pliku at_komendy.c  bez nadmiarowego w moim przypadku modyfikowania wszystkich funkcji bioracych udzial w UART_RX_STR_EVENT.</span><br /><br />Potrzeba mi jedynie adres tablicy TAB w &quot;funkcji serwisowej&quot; <strong>at_pwm_service</strong> w celu podmienienia jej wartosci.<br />A jestem pewien na 100 % ze moje &quot;wymysly&quot; mozna wykonac w znacznie ciekawszy sposob  <img src="https://forum.atnel.pl/images/smilies/icon_e_geek.gif" alt=":geek:" title="Świr" /> <br /><br />Pewnie dodatkowo potrzebowac jeszcze bede globalnej zmiennej do zapisu stalego poczatku do TAB no i ostatnio modyfikowanegej komorki w TAB w tejze funkcji serwisowej.  <img src="https://forum.atnel.pl/images/smilies/icon_twisted.gif" alt=":twisted:" title="Szalony" /> <br /><br />Wielkie dzieki ! <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=850">barszczz</a> — 2 lip 2014, o 09:56</p><hr />
]]></content>
</entry>
</feed>