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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-12-23T21:55:49+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=7322&amp;mode</id>
<entry>
<author><name><![CDATA[Mysteziz]]></name></author>
<updated>2016-12-23T21:55:49+01:00</updated>
<published>2016-12-23T21:55:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=178141#p178141</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=178141#p178141"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=178141#p178141"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">Mysteziz napisał(a):</div><div class="quotecontent"> natomiast po podłączeniu kolejnej na obu wyświetla mi się to samo.<br /></div><br />To znaczy, że pewnikiem żeś pan to źle połączył elektrycznie - nie ma innego wyjścia</div><br /><br />Okazało się że źle zrozumiałem jedno zdanie z PDF-a i miałem błąd w programie, a przy tym źle zrobione zasilanie(za mała moc i był spadek napięcia jak ledy dały czadu) i wszystko głupiało. Więc elektrycznie też było źle-dziękuję za podpowiedź:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14012">Mysteziz</a> — 23 gru 2016, o 21:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-12-21T20:55:35+01:00</updated>
<published>2016-12-21T20:55:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=178055#p178055</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=178055#p178055"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=178055#p178055"><![CDATA[
<div class="quotetitle">Mysteziz napisał(a):</div><div class="quotecontent"><br />natomiast po podłączeniu kolejnej na obu wyświetla mi się to samo.<br /></div><br />To znaczy, że pewnikiem żeś pan to źle połączył elektrycznie - nie ma innego wyjścia<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 gru 2016, o 20:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mysteziz]]></name></author>
<updated>2016-12-21T20:27:13+01:00</updated>
<published>2016-12-21T20:27:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=178046#p178046</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=178046#p178046"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=178046#p178046"><![CDATA[
Hmm temat dawno nie ruszany ale poczytałem niestety w listingach bez komentarzy trochę się gubię. Proszę o pomoc, czy ktoś może mi wyjaśnić jak wysłać dane do kilku matryc połączonych szeregowo? Tzn te z układem MAX7219 czyli sterowanie przez spi. Nie chcę gotowego kodu, jedną matrycę z takim sterownikiem potrafię obsłużyć natomiast po podłączeniu kolejnej na obu wyświetla mi się to samo.Czy na 2 wyświetlacze ramka danych na spi ma mieć długość 4 bajty? Czy jakiś odstęp pomiędzy ramkami? Czy jakoś inaczej zaadresować linię drugiej matrycy?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14012">Mysteziz</a> — 21 gru 2016, o 20:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-07-03T09:05:54+01:00</updated>
<published>2014-07-03T09:05:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=86531#p86531</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=86531#p86531"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=86531#p86531"><![CDATA[
<div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 3 lip 2014, o 09:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-06-27T10:59:53+01:00</updated>
<published>2014-06-27T10:59:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85887#p85887</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85887#p85887"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85887#p85887"><![CDATA[
W chwili obecnej robię tak że pobieram 8 bajtów przedstawiających dany znak z tablicy;<br /><br />[syntax=c]static const char disp1&#91;&#93;&#91;8&#93; PROGMEM ={<br /><br />{0B01110000, 0B10001000, 0B10011000, 0B10101000, 0B11001000, 0B10001000, 0B01110000, 0B00000000}, //0<br />{0B00100000, 0B01100000, 0B00100000, 0B00100000, 0B00100000, 0B00100000, 0B01110000, 0B00000000},//1<br />{0B01110000, 0B10001000, 0B00001000, 0B00010000, 0B00100000, 0B01000000, 0B11111000, 0B00000000}, //2<br />{0B11111000, 0B00010000, 0B00100000, 0B00010000, 0B00001000, 0B10001000, 0B01110000, 0B00000000}, //3<br />{0B00010000, 0B00110000, 0B01010000, 0B10010000, 0B11111000, 0B00010000, 0B00010000, 0B00000000}, //4<br />{0B11111000, 0B10000000, 0B11110000, 0B00001000, 0B00001000, 0B10001000, 0B01110000, 0B00000000}, //5<br />{0B00110000, 0B01000000, 0B10000000, 0B11110000, 0B10001000, 0B10001000, 0B01110000, 0B00000000}, //6<br />{0B11111000, 0B10001000, 0B00001000, 0B00010000, 0B00100000, 0B00100000, 0B00100000, 0B00000000}, //7<br />{0B01110000, 0B10001000, 0B10001000, 0B01110000, 0B10001000, 0B10001000, 0B01110000, 0B00000000}, //8<br />{0B01110000, 0B10001000, 0B10001000, 0B01111000, 0B00001000, 0B00010000, 0B01100000, 0B00000000}, //9<br />;[/syntax]<br /><br />natępnie napełniam danymi z tej tablicy bufor hmm i tu pewnie będzie zonk bufor jest 64 bitowy<br /><br />[syntax=c]uint64_t bufor_temp&#91;8&#93;;[/syntax]<br /><br />i dopiero na tym robię przesunięcia bitowe po czym napełniam bufor matrycy również 64bit hmm..<br /><br />Wydaje mi się że to nie tak powinno wyglądać pomimo tego że 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=1249">BIGjack</a> — 27 cze 2014, o 10:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-06-27T09:53:59+01:00</updated>
<published>2014-06-27T09:53:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85877#p85877</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85877#p85877"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85877#p85877"><![CDATA[
<div class="quotetitle">BIGjack napisał(a):</div><div class="quotecontent"><br />Czy mam tworzyć struktury bitowe<br /></div><br /><br />Nigdy w życiu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... tworzysz mapę pamięci w bajtach, gdzie każdy bit odpowiada jednemu pixelowi. Możesz więc układać bajty albo pionowo albo poziomo - zależy jak będzie ci wygodniej później pisać funkcje obsługi znaków czy też w ogóle operowania na tej pamięci buforowanej ...<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />aha no chyba że korzystasz z generatora znaków w tym układzie max to sprawa się jeszcze bardziej upraszcza bo potrzebujesz pamięci tylko na kody ASCII znaków a nie na piksele<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 cze 2014, o 09:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-06-27T09:34:16+01:00</updated>
<published>2014-06-27T09:34:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85875#p85875</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85875#p85875"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85875#p85875"><![CDATA[
<div class="quotetitle">Krauser napisał(a):</div><div class="quotecontent"><br />i zobaczyłem to:<br /></div> tak jest to majstersztyk jeżeli chodzi o wyświetlanie na lcd.<br />Mnie nurtuje cały czas jak podejść do tego bufora wyświetlacza led matrix. Czy mam tworzyć struktury bitowe,<br />czy może operacje na całych bajtach - maskowanie,przesunięcia itp.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 27 cze 2014, o 09:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2014-06-26T21:55:06+01:00</updated>
<published>2014-06-26T21:55:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85846#p85846</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85846#p85846"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85846#p85846"><![CDATA[
Doskonale Cię rozumiem. Kiedyś kombinowałem ze scrollowaniem na LCD 2*16 i zobaczyłem to:<br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><br /><br />W każdym przypadku zawsze należy używać funkcji, która bufor z danymi wysyła na wyświetlacz, a cała zabawa, która polega przykładowo na: przesuwaniu napisu, rozpadaniu się napisu, układaniu napisu z kawałków i wreszcie operacjach 3D odbywa się na tym buforze. Jakie proste, a zarazem genialne.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 26 cze 2014, o 21:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-06-26T19:57:25+01:00</updated>
<published>2014-06-26T19:57:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85831#p85831</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85831#p85831"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85831#p85831"><![CDATA[
Siedzę sobie nad moimi matrycami, kombinuje jak tu zrobić fajne skrolowanie a tu nagle na YT zobaczyłem to;<br /><br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><br /><br />Wbiło mnie w fotel, koleś pisze ze to są matryce sterowanie przez max-y7219.<br />Ręce mi opadły  <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 26 cze 2014, o 19:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-06-25T15:40:03+01:00</updated>
<published>2014-06-25T15:40:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85740#p85740</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85740#p85740"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=85740#p85740"><![CDATA[
Zrobiłem krok naprzód <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /> Wyświetlają mi się nazwy dni tygodnia tak jak zakładałem.<br /><br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><br /><br />Nie wiem jednak czy idę w dobrym kierunku bo pakuję linie znaków z tablicy do buforów 64bitowych i stosuje przesunięcia bitowe aby poustawiać<br />je w odpowiednie miejsca no i skrolować oczywiście hmmmm....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 25 cze 2014, o 15:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2014-06-14T10:28:45+01:00</updated>
<published>2014-06-14T10:28:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84395#p84395</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84395#p84395"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84395#p84395"><![CDATA[
Może bufor większy.  U mnie w tym przykładzie było chyba kolo 200 B.<br /><br />Wysłane z mojego GT-I9505 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 14 cze 2014, o 10:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-06-13T18:52:01+01:00</updated>
<published>2014-06-13T18:52:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84354#p84354</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84354#p84354"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84354#p84354"><![CDATA[
<div class="quotetitle">mokrowski napisał(a):</div><div class="quotecontent"><br />Niech zgadnę. Wydłużyć bufor tak aby był &quot;jeden wyświetlacz wirtualny z prawej&quot; ?<br /></div><br />Tak, między innymi.<br />Koniec radosnej twórczości  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" />  <img src="https://forum.atnel.pl/images/smilies/icon_e_surprised.gif" alt=":o" title="Zdziwiony" />  <img src="https://forum.atnel.pl/images/smilies/icon_eek.gif" alt=":shock:" title="Zaszokowany" />  <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" />  <img src="https://forum.atnel.pl/images/smilies/icon_cry.gif" alt=":cry:" title="Płacze" /> Wszystko jest ok dopóki wyświetlany tekst ma nie więcej<br />niż 4 znaki ponieważ mój bufor to 8 bajtów z czego 4 są wyświetlane a pozostałe z prawej strony poza wyświetlaczem <br />czekają na wsunięcie do matrycy. Nie mam pomysłu jak zrobić przewijanie dłuższego napisu  <img src="https://forum.atnel.pl/images/smilies/icon_rolleyes.gif" alt=":roll:" title="Udaje, że to nie on" />  <img src="https://forum.atnel.pl/images/smilies/icon_e_confused.gif" alt=":?" title="Boi się" />  <img src="https://forum.atnel.pl/images/smilies/icon_question.gif" alt=":?:" title="Znak zapytania" />  <img src="https://forum.atnel.pl/images/smilies/icon_question.gif" alt=":?:" title="Znak zapytania" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 13 cze 2014, o 18:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-06-13T18:43:14+01:00</updated>
<published>2014-06-13T15:15:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84327#p84327</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84327#p84327"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84327#p84327"><![CDATA[
rozwiązanie jest co najmniej banalne <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> właśnie robię testy.<br /><br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 13 cze 2014, o 15:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2014-06-13T12:30:58+01:00</updated>
<published>2014-06-13T12:30:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84321#p84321</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84321#p84321"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84321#p84321"><![CDATA[
Tak czy inaczej na samej matrycy osiągnąłeś efekt przesuwania się &quot;bit bo bicie&quot;. Coś z tym przesuwaniem bufora jest jeszcze nie do końca dobrze. Nie bardzo rozumiem czemu się tak dzieje. Sam się przymierzam do czegoś takiego ale nie mam matryc...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 13 cze 2014, o 12:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-06-11T21:52:05+01:00</updated>
<published>2014-06-11T21:52:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84180#p84180</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84180#p84180"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=84180#p84180"><![CDATA[
Zrobiłem maleńki kroczek do przodu. Wbijając sobie do głowy wskazówki  <strong>sq8dsr</strong> napisałem funkcję która z bufora w ram wysyła pojedyncze znaki<br />do sterownika matryc max7219.  Wygląda to tak (z lekką dozą nieśmiałości wklejam swoje wypociny <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":-(" title="Smutny" /> )<br />[syntax=c]void led_output(uint8_t cy1) {<br /><br />uint8_t bufor_temp&#91;8&#93;;<br />for (uint8_t i = 1; i &lt; 9; i++) {<br /><br />bufor_temp&#91;i - 1&#93; = pgm_read_byte(&amp;disp1&#91;cy1&#93;&#91;i-1&#93;);<br />bufor_scroll&#91;i - 1&#93; = bufor_scroll&#91;i - 1&#93; | bufor_temp&#91;i - 1&#93;;<br /><br />}<br /><br />for (uint8_t j = 0; j &lt; 8; j++) {<br />for (unsigned char i = 0; i &lt; 8; i++) {<br /><br />bufor_scroll&#91;i&#93; = (bufor_scroll&#91;i&#93; &lt;&lt; 1);<br />_delay_ms(10);<br />}<br /><br />for (uint8_t i = 1; i &lt; 9; i++) {<br /><br />MAX7219_LOAD0;<br />MAX7219_writeData1(i, bufor_scroll&#91;i - 1&#93; &gt;&gt; 0);<br />MAX7219_writeData1(i, bufor_scroll&#91;i - 1&#93; &gt;&gt; 8);<br />MAX7219_writeData1(i, bufor_scroll&#91;i - 1&#93; &gt;&gt; 16);<br />MAX7219_writeData1(i, bufor_scroll&#91;i - 1&#93; &gt;&gt; 24);<br />MAX7219_LOAD1;<br /><br />}<br />_delay_ms(1);<br />}[/syntax]<br /><br />Problem w tym że nie potrafię zrobić aby znaki pojawiały się poza matrycą i wsuwały się bit po bicie.<br />Teraz jest tak że znak pojawia się na ostatniej matrycy następnie przesuwa się na ułamek sekundy <br />zatrzymuje i pojawia się następny ale to nie wygląda dobrze. Na filmie jest to trochę &quot;uwypuklone&quot;<br /><br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 11 cze 2014, o 21:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2014-06-09T14:58:43+01:00</updated>
<published>2014-06-09T14:58:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83841#p83841</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83841#p83841"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83841#p83841"><![CDATA[
To jest tylko użycie SPI do wysłania bitów do rejestru. To nie jest pełna komunikacja SPI.<br /><br />To jest taka funkcja:<br />[syntax=c]void led_disp(uint8_t anodes, uint16_t segments) {<br /><br />SPDR = anodes;//wysłanie danych do włączenia anod<br />while( !(SPSR &amp; (1&lt;&lt;SPIF)) ); //czekanie na zakończenie wysyłania<br /><br />SPCR |= (1&lt;&lt;DORD); // odwracamy kolejność bitów dla segmentów LSB pierwsze<br /><br />SPDR = segments&gt;&gt;8;//wysłanie danych do włączenia segmentów<br />while( !(SPSR &amp; (1&lt;&lt;SPIF)) ); //czekanie na zakończenie wysyłania<br /><br />SPDR = segments;//wysłanie danych do włączenia segmentów<br />while( !(SPSR &amp; (1&lt;&lt;SPIF)) ); //czekanie na zakończenie wysyłania<br /><br />SPCR &amp;= ~(1&lt;&lt;DORD); // przywracamy pierwoną kolejność bitów MSB pierwsze<br /><br /><br />PORTB |= (1&lt;&lt;CS);// Zatrzaśnięcie latch'a<br />PORTB &amp;= ~(1&lt;&lt;CS);<br /><br />}[/syntax]<br /><br />Tam w niej jest tylko jeden taki myk z odwróceniem kolejności bitów. (Ustawienie bitu DORD w SPCR) Wynika to z tego, że robiąc wyświetlacz pomyliłem kolejność wyprowadzeń jednego z rejestrów. Prościej więc było po przesłaniu pierwszego bajtu odwrócić kolejność niż zmieniać wszystkie wzorce bitowe dla znaków.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 9 cze 2014, o 14:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-06-09T14:32:37+01:00</updated>
<published>2014-06-09T14:32:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83834#p83834</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83834#p83834"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83834#p83834"><![CDATA[
sq8dsr, jakiej biblioteki używasz do SPI?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 9 cze 2014, o 14:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-06-07T10:12:53+01:00</updated>
<published>2014-06-07T10:12:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83582#p83582</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83582#p83582"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83582#p83582"><![CDATA[
Dzięki za pomoc, niestety dopiero w poniedziałek będę mógł zasiąść do projektu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 7 cze 2014, o 10:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2014-06-06T18:46:45+01:00</updated>
<published>2014-06-06T18:46:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83558#p83558</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83558#p83558"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83558#p83558"><![CDATA[
<div class="quotetitle">BIGjack napisał(a):</div><div class="quotecontent"><br />No i jeszcze o ile dobrze rozumiem kod to Ty przewijasz całe bajty a ja na swoich matrycach muszę przwijać bity.<br /></div><br /><br />No ja przewijam zawartość tablicy charowej. Ale kody znaków (jest ASCII) są podpięte pod wzorce bitowe znaków dla wyświetlacza 14-seg. Nie stosuje bowiem specjalizowanego kontrolera takich wyświetlaczy (Maxim takie robi) który posiadałby wbudowany dekoder znaków. Tutaj jest tablica, która zawiera 16 bitowe wzorce znaków. Analogiczne do takich do wyświetlacza 7 seg, tylko że tutaj potrzeba 15 bitów na znak.<br /><br />Kod mogę odszukać i zobaczysz jak to wygląda.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 13 minutach ]</span></strong><br /><br />To jest jakaś stara wersja kodu z pierwszych prób.<br /><br />[syntax=c]/*<br /> * common.c<br /> *<br /> *  Created on: 18-10-2013<br /> *      Author: Michał Uryga<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />#include &quot;common.h&quot;<br />#include &quot;SPI/spi.h&quot;<br /><br /><br /><br />uint8_t k1,k2,k3,k4; // deklaracja zmiennych stanu klawiszy<br />volatile uint16_t Timer1, Timer2=0; //timery<br />volatile uint8_t state; //flaga odczytu czasu z RTC<br />volatile uint8_t disp_flag; //flaga wywietlacza<br /><br />char  tekst&#91;9&#93;; //bufor do konwersji na kody 14_seg<br />uint16_t i=0; //licznik do scrolla<br /><br />char scroll&#91;64&#93; = &quot;        GODZINA -&gt; XX-XX-XX  DATA -&gt; XX/XX/XXXX                &quot;; //tablica z całym tekstem<br />char modes&#91;9&#93; = &quot;SET H   &quot;;<br />char days &#91;8&#93;&#91;14&#93; = { {&quot;NIEDZIELA &quot;},{&quot;PONIEDZIALEK &quot;},{&quot;WTOREK &quot;},{&quot;SRODA &quot;},{&quot;CZWARTEK &quot;},{&quot;PIATEK &quot;},{&quot;SOBOTA &quot;}};<br /><br />char okno&#91;9&#93;; //tablica zawierająca aktualny fragment wyswietlanego tekstu<br /><br />// tablica wzorów znaków<br />const uint16_t znak&#91;&#93; = {<br />0b0000000000000000,<br />0b0000000001001010,<br />0b0100010000000000,<br />0b0000000000000000,<br />0b1011011101001000,<br />0b0000000000000000,<br />0b0000000000000000,<br />0b0000010000000000,<br />0b0000010000000000,<br />0b0000010000000000,<br />0b0000001111111100,<br />0b0000001101001000,<br />0b0000000000000100,<br />0b0000001100000000,<br />0b0000000000000010,<br />0b0000000000100100,<br /><br />0b1111110000100100,// 0<br />0b0110000000100000,// 1<br />0b1101000100000100,// 2<br />0xf100, // 3<br />0b0110011100000000,// 4<br />0b1011011100000000,// 5<br />0b1011111100000000,// 6<br />0b1000000000101000,// 7<br />0xFF00,// 8<br />0b1111011100000000,// 9<br />0b0000000000000000,<br />0b0000000000000000,<br />0b0000000000110000,<br />0b0001000000000000,<br />0b0000000010000100,<br />0b1100000100001010,<br />0b1101110101000000,<br /><br />0b1110111100000000, // A - 11<br />0b1111000101001000, // B - 12<br />0b1001110000000000, // C - 13<br />0b1111000001001000, // D - 14<br />0b1001111100000000, // E<br />0b1000111000000000, // F<br />0b1011110100000000, // G<br />0b0110111100000000, // H<br />0b1001000001001000, // I<br />0b0111100000000000, // J<br />0b0000111000110000, // K<br />0b0001110000000000, // L<br />0b0110110010100000, // M<br />0b0110110010010000, // N<br />0b1111110000000000, // O<br />0b1100111100000000, // P<br />0b1111110000010000, // Q<br />0b1100111100010000, // R<br />0b1011011100000000, // S<br />0b1000000001001000, // T<br />0b0111110000000000, // U<br />0b0000110000100100, // V<br />0b0110110000010100, // W<br />0b0000000010110100, // X<br />0b0100011100001000, // Y<br />0b1001000000100100, // Z<br />};<br /><br /><br /><br /><br />// tablica sterowania anodami<br />const uint8_t anody&#91;&#93; = {<br />1, 2, 4, 8, 16, 32, 64, 128, 255<br />};<br /><br />// tablica do konwersji liczb 32 bit<br />char liczba&#91;9&#93;;<br /><br />// tablica zawartości pozycji<br />uint8_t cy&#91;9&#93;;<br /><br /><br />void INT1_ON(void){<br />MCUCR |= (1&lt;&lt;ISC11)|(1&lt;&lt;ISC10);<br />GICR |= (1&lt;&lt;INT1); //zezwolenie na INT1<br />}<br /><br />void INT1_OFF(void){<br />GICR &amp;= ~(1&lt;&lt;INT1);<br />}<br /><br />// funkcja konwersji liczby do pozycji 7seg<br />void convert_new(uint32_t value){<br />uint8_t i; //zmienna do pętli FOR<br /><br />ltoa(value, liczba, 10);<br /><br />for (i=0; i&lt;8; i++){<br />if(liczba&#91;i&#93;==0) cy&#91;i&#93;=10; else<br />cy&#91;i&#93; = liczba&#91;i&#93; - '0'; //magiczna konwersja :P<br />}<br />}<br /><br /><br />void led_str(char *s, char *bufor) {<br />uint8_t i=0;<br />while(*s) *bufor++ = *s++;<br /><br />for (i=0;i&lt;8;i++){<br />cy&#91;i&#93; = tekst&#91;i&#93;-32;<br />}<br />}<br /><br /><br />void timer_init(void){<br /><br />// ustawienie TIMER0<br />TCCR0 |= (1&lt;&lt;WGM01);// tryb CTC<br />TCCR0 |= (1&lt;&lt;CS02);// preskaler 1024<br />OCR0 = 38;// wartosć do porównania (dotaktowy podział przez 80)<br />TIMSK |= (1&lt;&lt;OCIE0);// zezwolenie na przerwanie CompareMatch (porównanie z OCR0)<br />}<br /><br /><br />void tablica (char *x, char *scrol){<br /><br />while(*x) *scrol++ = *x++;<br />}<br /><br /><br />void przewijanie (void){<br />static  uint8_tj;<br /><br />while (scroll&#91;i&#93; &amp;&amp; !(disp_flag)) { //przesuwanie się o jeden znak po dużej tablicy<br /><br />if (Timer2==200) { //opóźnienie nieblokujące<br /><br />for (j=0; j&lt;8; j++){ //napełnianianie tablicy aktualnej zawartosci disp<br /> okno&#91;j&#93; = scroll&#91;i+j&#93;;<br />}<br /><br />i++; //kolejny element dużej tablicy<br /><br />led_str(okno, tekst ); //konwersja na znaki disp<br />Timer2=0; //zerujemy timer<br /><br />}<br />}<br />if (scroll&#91;i&#93;==0) i=0;  //Cofnięcie do pierwszego elementu po zakończeniu<br />}<br /><br /><br /><br />void multiplex(void) {<br /><br />if (disp_flag) {<br />static uint8_t licznik=0; // zmienna licznik - wzkazuje poszczególnie katody<br /><br /><br />if (licznik==0){ // załącznie wyświtelacza 1<br />led_disp(anody&#91;licznik&#93;, znak&#91;cy&#91;0&#93;&#93;); //wysłanie danych do rejestrów przez SPI <br />}<br /><br />if (licznik==1){ // załącznie wyświtelacza 2<br />led_disp(anody&#91;licznik&#93;, znak&#91;cy&#91;1&#93;&#93;);<br />}<br /><br />if (licznik==2){ // załącznie wyświtelacza 3<br />led_disp(anody&#91;licznik&#93;, znak&#91;cy&#91;2&#93;&#93;);<br />}<br /><br />if (licznik==3){ // załącznie wyświtelacza 4<br />led_disp(anody&#91;licznik&#93;, znak&#91;cy&#91;3&#93;&#93;);<br />}<br /><br />if (licznik==4){ // załącznie wyświtelacza 5<br />led_disp(anody&#91;licznik&#93;, znak&#91;cy&#91;4&#93;&#93;);<br />}<br /><br />if (licznik==5){ // załącznie wyświtelacza 6<br />led_disp(anody&#91;licznik&#93;, znak&#91;cy&#91;5&#93;&#93;);<br />}<br /><br />if (licznik==6){ // załącznie wyświtelacza 7<br />led_disp(anody&#91;licznik&#93;, znak&#91;cy&#91;6&#93;&#93;);<br />}<br /><br />if (licznik==7){ // załącznie wyświtelacza 8<br />led_disp(anody&#91;licznik&#93;, znak&#91;cy&#91;7&#93;&#93;);<br />}<br /><br />licznik++; //przesunięcie załączonej anody<br /><br /><br />if(licznik==8) { //powrót do pierwszej anody<br />licznik=0;<br />}<br />disp_flag=0;<br /><br />} // koniec sprawdzania disp_flag<br />}<br /><br /><br />// PRZERWANIA<br />ISR(TIMER0_COMP_vect){<br /><br />//ustawienie flagi do funkcji multipleksowania wywietlacza.<br />disp_flag=1;<br /><br />//obsługa Timera1 programowego do obługi klawiszy<br />uint16_t n;<br />n = Timer1;<br />if (n) Timer1 = --n;<br /><br />//obsługa Timera2 programowego<br />Timer2++;<br /><br /><br /><br />}<br /><br />ISR(INT1_vect) {<br /><br />state=0; //ustawienie flagi wykonania odczytu czasu<br />led_tog;<br /><br />//if (mode&gt;8) mode=0; else mode++; //ustawienie flagi przełączania czas/data<br /><br />}[/syntax]<br /><br /><br />[syntax=c]/*<br /> * pcf_8583.c<br /> *<br /> *  Created on: 23-10-2013<br /> *      Author: Michał Uryga<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />#include &quot;../I2C/i2c_twi.h&quot;<br />#include &quot;../common.h&quot;<br />#include &quot;ds_1307.h&quot;<br /><br />enum {ss, mm, hh};<br />uint8_t bufor&#91;3&#93;; // bufor do odczytu czasu<br />uint8_t sec, min, hou, yea, mth, day;<br />uint8_t s&#91;3&#93;;<br />uint8_t m&#91;3&#93;;<br />uint8_t h&#91;3&#93;;<br />uint8_t date&#91;4&#93;; // bufor do odczytu daty<br />uint8_t ustawienie&#91;4&#93;;<br /><br /><br />// zmienne do dzielenia div<br />div_t divmod_h,<br />divmod_m,<br />divmod_s,<br />divmod_yea,<br />divmod_mth,<br />divmod_day;<br /><br />uint8_t mode=0;<br /><br />void set_mode(void){<br /><br />if(mode&gt;3) {<br />mode=0;<br /><br />}<br />else {<br />mode++;<br /><br />}<br />}<br /><br /><br /><br />void get_time_scroll(void){<br />TWI_read_buf( 0xD0, 0x00, 3, bufor);<br /><br />sec = bcd2dec( bufor&#91;ss&#93;);<br />min = bcd2dec( bufor&#91;mm&#93;);<br />hou = bcd2dec( bufor&#91;hh&#93;);<br /><br />divmod_m = div(min,10);<br />divmod_h = div(hou,10);<br />divmod_s = div(sec,10);<br /><br />if(divmod_h.quot == 0) {<br />scroll&#91;19&#93;=0+32;} else {<br />scroll&#91;19&#93;=divmod_h.quot+48;}<br />scroll&#91;20&#93;=divmod_h.rem+48;<br /><br />scroll&#91;22&#93;=divmod_m.quot+48;<br />scroll&#91;23&#93;=divmod_m.rem+48;<br /><br />scroll&#91;25&#93;=divmod_s.quot+48;<br />scroll&#91;26&#93;=divmod_s.rem+48;<br /><br />}<br /><br /><br /><br /><br /><br />void get_date_scroll(void) {<br />uint8_t i=0;<br />TWI_read_buf( 0xD0, 0x03, 4, date);<br /><br />//rok<br />yea = date&#91;3&#93;;<br />yea = bcd2dec(yea);<br />divmod_yea = div(yea,10);<br />//zapis danych na odpowiednie pozycje do tablicy w RAM<br />scroll&#91;45&#93;=divmod_yea.quot+48;<br />scroll&#91;46&#93;=divmod_yea.rem+48;<br /><br />//miesiąc<br />mth = date&#91;2&#93;;<br />mth = bcd2dec(mth);<br />divmod_mth = div(mth,10);<br />//zapis danych na odpowiednie pozycje do tablicy w RAM<br />scroll&#91;40&#93; = divmod_mth.quot+48;<br />scroll&#91;41&#93; = divmod_mth.rem+48;<br /><br />//dzień<br />day = date&#91;1&#93;;<br />day = bcd2dec(day);<br />divmod_day = div(day,10);<br />//zapis danych na odpowiednie pozycje do tablicy w RAM<br />scroll&#91;37&#93; = divmod_day.quot+48;<br />scroll&#91;38&#93; = divmod_day.rem+48;<br /><br />//dzien tygodnia<br />for (i=0; i&lt;12; i++) {<br />scroll&#91;49+i&#93; = days&#91;date&#91;0&#93;&#93;&#91;i&#93;;<br />}<br /><br /><br />}<br /><br /><br />void set_date(uint8_t day, uint8_t mth, uint8_t year, uint8_t day_o_w) {<br /><br />uint8_t zapis_daty&#91;4&#93;;<br /><br />zapis_daty&#91;0&#93; = day_o_w;<br />zapis_daty&#91;1&#93; = dec2bcd(day);<br />zapis_daty&#91;2&#93; = dec2bcd(mth);<br />zapis_daty&#91;3&#93; = dec2bcd(year);<br /><br />TWI_write_buf(0xD0, 0x03, 4, zapis_daty);<br /><br />}<br /><br />void set_time (uint8_t hh, uint8_t mm){<br /><br /><br />ustawienie&#91;0&#93;=0;<br />ustawienie&#91;1&#93;=dec2bcd(mm); //minuta<br />ustawienie&#91;2&#93;=dec2bcd(hh); //godzina<br />TWI_write_buf(0xD0, 0x00, 3, ustawienie);<br /><br />}[/syntax]<br /><br /><br />Myślę, że podobnie trzeba podejść do matryc. <br />Zrobić funkcję, która będzie wyświetlać znaki ASCII na matrycach. A przewijanie zrobić na tablicach. Niech ta funkcja &quot;martwi&quot; się o to jaki bity wysyłać żeby pokazała się litera. Mechanizm z tablicami powinien być poziom wyżej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 6 cze 2014, o 18:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-06-06T17:15:52+01:00</updated>
<published>2014-06-06T17:15:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83555#p83555</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83555#p83555"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83555#p83555"><![CDATA[
<div class="quotetitle">sq8dsr napisał(a):</div><div class="quotecontent"><br />W tym samym wątku masz mój kolejny przykłąd właśnie z zegarem, w którym scrollowanie odbywa się dynamicznie. Czyli przesuwające się liczby mogą zmieniać się podczas przesuwania się. <br />Odbywa się to tak, że wszystkie operacje odbyuwają się na buforze. A &quot;okienko&quot; cyklicznie przesuwa się po nim.<br /><br />Różnica będzie tylko w sposobie sterowania wyświetlaczy.<br /></div><br /><br />Pięknie kolego to wygląda ale do drugiego przykładu już nawet interesującego mnie fragmentu kodu brak <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br />No i jeszcze o ile dobrze rozumiem kod to Ty przewijasz całe bajty a ja na swoich matrycach muszę przwijać bity.<br />Nie mam problemu z wyświetleniem znaku z tablicy na matrycy i  scrolowaniem ale nie wiem jak zrobić aby znak wsunąć na tablicę i po niej przesunąć.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 6 cze 2014, o 17:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2014-06-06T11:25:20+01:00</updated>
<published>2014-06-06T11:25:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83535#p83535</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83535#p83535"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83535#p83535"><![CDATA[
Może z tego coś Ci się przyda.<br /><br /><a href="http://forum.atnel.pl/topic6879.html"  class="postlink">http://forum.atnel.pl/topic6879.html</a><br /><br />Mechanizm uważam, że powinien być podobny. Czyli tablica (bufor) z tym co jest scrollowane. Na wyświetlacz wyrzucane jest &quot;okienko&quot; czyli mała tablica o długości takiej jak wyświetlacz i to się dzieje cały czas w tle (oczywiście z jakimś opóźnieniem).<br /><br />W tym samym wątku masz mój kolejny przykłąd właśnie z zegarem, w którym scrollowanie odbywa się dynamicznie. Czyli przesuwające się liczby mogą zmieniać się podczas przesuwania się. <br />Odbywa się to tak, że wszystkie operacje odbyuwają się na buforze. A &quot;okienko&quot; cyklicznie przesuwa się po nim.<br /><br />Różnica będzie tylko w sposobie sterowania wyświetlaczy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 6 cze 2014, o 11:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-06-06T10:57:56+01:00</updated>
<published>2014-06-06T10:57:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83532#p83532</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83532#p83532"/>
<title type="html"><![CDATA[Re: Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83532#p83532"><![CDATA[
<div class="quotetitle">dambo napisał(a):</div><div class="quotecontent"><br />Na forum wklejałem już tu swój kod w temacie odnośnie matryc 8x8<br /></div><br />Możesz dać linka bo znalazłem tylko filmik z działania Twoich matryc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 6 cze 2014, o 10:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BIGjack]]></name></author>
<updated>2014-06-06T09:59:34+01:00</updated>
<published>2014-06-06T09:59:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83524#p83524</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83524#p83524"/>
<title type="html"><![CDATA[Scrolowanie tekstu matryca LED 4x 8*8 max7219]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7322&amp;p=83524#p83524"><![CDATA[
Zrobiłem zegar z datą na matrycach 4x 8x8led sterowanych maxem7219, atmega8 ds3231.<br />Niestety nie wiem ja zrobić scrolowanie tekstu. Jest mi to potrzebne do wyświetlania daty z dniem tygodnia, scrolowanie dlatego że<br />data + dzień tygodnia nie mieści się na wyświetlaczach. Kiedyś jak robiłem na rejestrach 74hc595 to nie było problemu ponieważ<br />tam wstawiałem pojedyńcze kolumny dla całego wyświetlacza a w przypadku maxa &quot;wypluwam&quot; najpierw wszystkie linie dla pierwszego nastepnie dla kolejnych.<br />Chodzi mi konkretnie o sposób w którym napis zaczyna się poza prawą stroną matryc i przesuwa się w lewo w pętli.<br />Nie wiem jak do tego się zabrać hmmm.....<br /><br />Oto fimik zegara na maxie;<br /><br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><br /><br /><a href="http://forum.atnel.pl/_obrazki/o/1249/874c088eaae1ce3e21ab3bd8e46861f5.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1249/874c088eaae1ce3e21ab3bd8e46861f5.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1249">BIGjack</a> — 6 cze 2014, o 09:59</p><hr />
]]></content>
</entry>
</feed>