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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=5864&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-07-14T15:17:04+01:00</updated>
<published>2014-07-14T15:17:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87572#p87572</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87572#p87572"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87572#p87572"><![CDATA[
<div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />Nie sadzilem ze przy programowym SPI tak mi sie wszystko rozlazi czasowo<br /></div><br /><br />Ja nie twierdzę że &quot;ZAWSZE&quot; przy programowym SPI wszystko się rozłazi czasowo - wszystko to panie kwestia optymalizacji kodu ... ale jak się już robi programowo a zależy na czasach no to nie ma że boli trzeba się przysiąść <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ...<br /><br />Tylko tak na końcu pomyśl czy warto ci się bić o każdą jedną us ??? pomyśl<br /><br />Ja rozumiem gdybyś chciał z tego zrobić jakiś ekran LED'owy i wyświetlać animacje/filmy ... ok wtedy pewnie trzeba walczyć o każdą wręcz nano sekundę ....<br /><br />Ale do celów zrobienia prostych efektów i animacji na jakimś tam pasku diod ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> gra może nie być warta świeczki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 14 lip 2014, o 15:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-14T15:09:02+01:00</updated>
<published>2014-07-14T15:09:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87569#p87569</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87569#p87569"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87569#p87569"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Boże  kolego skąd ty znajdujesz takie dziwolągi (mówię o tych rezystorach 50R) ? ... uważasz że jest sens rozpatrywać wszystko co znajdziesz w internecie ? i to jeszcze bez podania źródeł ? .... pomyśl nad tym  Tym bardziej, że jak nie podajesz źródła to istnieje duża możliwość że sam popełniłeś błąd bo tam wcale nie było takich wartości rezystorów....<br /></div><br /><br />wlasnie znalazlem zrodlo: <!-- m --><a class="postlink" href="http://forum.arduino.cc/index.php?topic=140308.0" >http://forum.arduino.cc/index.php?topic=140308.0</a><!-- m --><br /><br />Z tego co widze, to napisane jest ze te 50 Ohmowe rezystory mialy byc dolaczone do ostatniego scalaka w kaskadzie...<br /><br />Dzieki wielkie za wybicie mi tych dziwolagow, zawsze to uklad mniejszy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Dajesz sobie głowę obciąć że zmniejszyłeś ten czas do 1 us ?<br /></div><br />no i wlasnie glowa poleciala <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Nie sadzilem ze przy programowym SPI tak mi sie wszystko rozlazi czasowo<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />przecież ty wyżej w kodzie bawisz się programowym SPI<br /></div><br /><br />Nie udalo mi sie ruszyc tego poprzez sprzetowy SPI, dostalem kilka prywatnych wiadomosci i inni mieli ten sam problem...ale lada dzien moze znowu przysiade i od nowa postaram sie przez to przebrnac....<br /><br />Jak uda mi sie dostac do oscyloskopu to sam z ciekawosci zobacze jakie czasy mi tam powylazily <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=850">barszczz</a> — 14 lip 2014, o 15:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-07-14T14:58:03+01:00</updated>
<published>2014-07-14T14:58:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87568#p87568</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87568#p87568"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87568#p87568"><![CDATA[
<div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />Ale ja zmniejszylem czas z 600 us na 1 us<br /></div><br /><br />Dajesz sobie głowę obciąć że zmniejszyłeś ten czas do 1 us ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... oooj to uważaj bo możesz ją stracić ....<br /><br />1. sprawdzałeś ten czas na oscyloskopie ?<br />2. obliczałeś ten czas na podstawie kodu wygenerowanego w asemblerze przez kompilator w C ?<br /><br />czy może wydaje ci się że jeśli napiszesz<br /><br />_delay_us( 600 );<br />_delay_us( 1 );<br /><br />to wielka różnica jeśli np twój kod do obsługi transmisji SPI posiada spory narzut czasowy na końcu ... np 800us .... a wtedy twój delay może trwać nawet i w drugą stronę 0,5us i nadal będzie dobrze <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />przecież ty wyżej w kodzie bawisz się programowym SPI <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... więc tam pewnie tracisz KUPĘ czasu gdzie 600us to mały nieznaczący pikuś<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 14 lip 2014, o 14:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-14T14:51:05+01:00</updated>
<published>2014-07-14T14:51:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87567#p87567</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87567#p87567"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87567#p87567"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />czy dla ciebie nie jest zrozumiały parametr czas minimalny ? ... Panie kochany  możesz sobie czas 600us zmienić nawet na 1 godzinę i też ci zadziała i będziesz dziwił się dlaczego ? .... To chyba oczywiste że producent ci podaje że ten czas MUSI trwać MINIMUM 600 us a to że dasz więcej nawet godzinę albo i cały dzień - to już bez różnicy i tak się zresetuje  teraz jaśniej ?<br /></div><br /><br />Ale ja zmniejszylem czas z 600 us na 1 us i dalej chodzilo...skrocilem go o 600 razy a kilka ukladow polaczonych kaskadowo nadal szalalo jak poprzednio <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> w tym sek<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 14 lip 2014, o 14:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-07-14T14:27:33+01:00</updated>
<published>2014-07-14T14:27:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87565#p87565</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87565#p87565"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87565#p87565"><![CDATA[
<div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />Ostatnio znalazlem w internecie schemat podlaczania wspomnianego scalaka<br /></div><br /><br />Boże <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> kolego skąd ty znajdujesz takie dziwolągi (mówię o tych rezystorach 50R) ? ... uważasz że jest sens rozpatrywać wszystko co znajdziesz w internecie ? i to jeszcze bez podania źródeł ? .... pomyśl nad tym <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Tym bardziej, że jak nie podajesz źródła to istnieje duża możliwość że sam popełniłeś błąd bo tam wcale nie było takich wartości rezystorów.... <br /><br /><div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />Dodatkowo w poprzednim kodzie uzywalem zmiennej WS2803_Latch_Delay, ustawione na 600 us -w notach producent wspominal ze sygnal niski o takiej dlugosci &quot;zatrzaskuje&quot; dane. Zmienialem te wartosci z 600 us do 1 us i nadal wszystko dzialalo, tylko czemu<br /></div><br /><br />czy dla ciebie nie jest zrozumiały parametr czas minimalny ? ... Panie kochany <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> możesz sobie czas 600us zmienić nawet na 1 godzinę i też ci zadziała i będziesz dziwił się dlaczego ? .... To chyba oczywiste że producent ci podaje że ten czas MUSI trwać MINIMUM 600 us a to że dasz więcej nawet godzinę albo i cały dzień - to już bez różnicy i tak się zresetuje <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> teraz jaśniej ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 14 lip 2014, o 14:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-07-14T14:12:29+01:00</updated>
<published>2014-07-14T14:12:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87564#p87564</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87564#p87564"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=87564#p87564"><![CDATA[
Sterownikow LED ciag dalszy <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" /> <br /><br />Ostatnio znalazlem w internecie schemat podlaczania wspomnianego scalaka :<br /><a href="http://forum.atnel.pl/_obrazki/o/850/369e9db9716130173e0ac8f52159c5cd.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/850/369e9db9716130173e0ac8f52159c5cd.png" alt="Obrazek" /></a><br /><br />Zastosowano tutaj podciagniecie wyjsc sygnalow SDO i CKO do zasilania VCC poprzez rezystor 50 Ohm.<br /><br />Podczas moich prob nie uzywalem tych rezystorow, wiec chcialem sie was podpytac czy przy polaczeniu 3 sterownikow jest sens je tam dodawac ?<br /><br />Co daje takie podciagniecie ? Rozumiem, ze dzieki tym 50 Ohm wysoki poziom sygnalu jest &quot;czytelniejszy&quot; dla kolejnego sterownika ? Pewnie w przypadku dluzszych szeregow sterownikow LED takie  podciaganie jest potrzebne, ale czy dla kilku daje to jakis efekt ?<br /><br /><br />Dodatkowo w poprzednim kodzie uzywalem zmiennej  <strong>WS2803_Latch_Delay</strong>, ustawione na 600 us -w notach producent wspominal ze sygnal niski o takiej dlugosci &quot;zatrzaskuje&quot; dane. Zmienialem te wartosci z 600 us do 1 us i nadal wszystko dzialalo, tylko czemu  <img src="https://forum.atnel.pl/images/smilies/icon_e_ugeek.gif" alt=":ugeek:" title="Świr, i to jaki!" /> ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 14 lip 2014, o 14:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-28T08:32:21+01:00</updated>
<published>2014-02-28T08:32:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72380#p72380</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72380#p72380"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72380#p72380"><![CDATA[
Teraz już zapamiętam, że sprzętowe SCK wysuwa jedynie bity do wsunięcia a po zakończonej brudnej robocie ustawiane jest na stan wysoki bądź to niski. Niby, już wszystko przemaglowane, nic nie powinno mnie w sprzętowej obsłudze SPI zaskoczyć, lecz nadal program nie rusza.<br />Analizując przebiegi scalaka WS2803 i SPI dla Atmega32A:<br /><a href="http://forum.atnel.pl/_obrazki/o/850/3d002ebc773c65ef5e892f9ab8878c4f.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/850/3d002ebc773c65ef5e892f9ab8878c4f.png" alt="Obrazek" /></a><br /><br />Na czerwono i zielono zaznaczyłem stan SCK przed jak i po wysłaniu paczki bitów. Wszystko powinno się zgadzać, po wysłaniu mamy stan niski, bity wsuwane są zboczem narastającym. Przebiegi są identyczne. Z tego tez wynika, że bity CPOL i CPHA powinny byc ustawione na 0 - tak jak to jest w ustawieniach rejestru SPCR automatycznie po resecie.<br /><br />Do programu podchodzę identycznie jak w przypadku programowego SPI:<br />[syntax=c]// Buffer na potrzeby wysterowania WS2803<br />uint8_t buffer&#91;&#93; = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };<br />uint8_t buffer3&#91;&#93; = { 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250 };<br /><br />void SendSpiBuffer(uint16_t length, uint8_t *buffer); /* wysłanie danych z buffora - programowe SPI */<br /><br />//**************************** główna funkcja programu<br />int main(void) {<br />/* inicjalizacja SPI */<br /><br />InitSpi();<br /><br />while (1) {<br />SendSpiBuffer(sizeof(buffer3), buffer3);<br />_delay_ms(500);<br />SendSpiBuffer(sizeof(buffer), buffer);<br />_delay_ms(500);<br />}<br />}<br /><br />void InitSpi(void) {<br />/* ustawienie kierunku wyjściowego dla linii MOSI, SCK i CS */<br />DDRB |= (1 &lt;&lt; MOSI) | (1 &lt;&lt; SCK);<br />/* aktywacja  SPI, tryb pracy Master, prędkość zegara Fosc/16 */<br />SPCR |= (1 &lt;&lt; SPE) | (1 &lt;&lt; MSTR) | (1 &lt;&lt; SPR0);<br />}<br /><br />/* definicja  funkcji wysyłającej bajt */<br />void SendSpi(uint8_t bajt) {<br />/* wysyłamy bajt do układu Slave */<br />SPDR = bajt;<br />/* czekamy aż zostanie wysłany ostatni bit */<br />while (!(SPSR &amp; (1 &lt;&lt; SPIF)));<br />}<br /><br />/* definicja  funkcji wysyłającej bajty w buferze */<br />void SendSpiBuffer(uint16_t length, uint8_t *buffer) {<br />while (length--) SendSpi(*buffer++);<br />_delay_us(700);<br />}[/syntax]<br /><br />Przestudiowałem każdą linijkę kilka razy, zmieniałem ilości bajtów w buferach, zmieniałem długości delaya po wysłaniu buferu i nadal kicha ! <img src="https://forum.atnel.pl/images/smilies/icon_evil.gif" alt=":evil:" title="Zły" /><br />Jestem jakimś ewenementem bo sprzętowe SPI powinno ułatwić mi obsługę a nie ... <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> — 28 lut 2014, o 08:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-27T16:56:23+01:00</updated>
<published>2014-02-27T16:56:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72265#p72265</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72265#p72265"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72265#p72265"><![CDATA[
Spokojnie kto pyta nie błądzi...<br /><br />Skoro już wiesz że SCK w sprzętowym SPI zachowuje się tak samo jak w programowym SPI czyli sam się zatrzymuje ....<br /><br />to teraz możesz zajrzeć sobie jeszcze do noty PDF do rejestrów SPI i zobaczyć że można dowolnie zmieniać stan początkowy SCK czy ma być to 0 czy 1. Czy dane z MOSI mają być zatrzaskiwane zboczem narastającym czy opadającym itp itd <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />ale i tak domyślne ustawienia po resecie są w większości wypadków od razu odpowiednie do takich celów<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 lut 2014, o 16:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-27T16:52:50+01:00</updated>
<published>2014-02-27T16:52:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72264#p72264</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72264#p72264"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72264#p72264"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Najbardziej ciekawi mnie skąd wytrzasnąłeś pan taką iście ciekawą teorię ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br /><br />Jeśli trzeba jakiejś nowej fantasmagorii i nowych pokręconych teorii o AVRach to proszę śmiało się odzywać  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />Jakoś takie działanie SCK wydawało się być dla mnie dość logiczne  <img src="https://forum.atnel.pl/images/smilies/icon_rolleyes.gif" alt=":roll:" title="Udaje, że to nie on" /> no ale teraz znowu przeczytam wcześniejsze podpowiedzi, przelecę poradnik i może tym razem zaświeci się żarówka  <img src="https://forum.atnel.pl/images/smilies/icon_idea.gif" alt=":idea:" title="Pomysł" /> <br />spać nie pójdę dopóty tego nie przełknę  <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" /><br />Dzięki wielkie za użeranie się z moimi fantasmagoriami  <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> — 27 lut 2014, o 16:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-27T16:45:20+01:00</updated>
<published>2014-02-27T16:45:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72263#p72263</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72263#p72263"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72263#p72263"><![CDATA[
<div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />Pewnie znowu coś bredzę<br /></div><br /><br />No nie użyłbym takiego słowa - ale na pewno opowiadasz kosmiczne fantasmagorie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Panie kolego ZROZUM - sygnał CLOCK jest potrzebny TYLKO i wyłącznie do &quot;wysziftowania&quot; bajtu. I pojawia się na linii SCK przebieg prostokątny TYLKO w momencie gdy wysuwany/odbierany jest bajt. Nie ma to NIC a NIC wspólnego z inicjalizacją SPI i wręcz niedorzecznością jest jakby wyłączanie SPI - rzekomo po to aby zatrzymać SCK <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... Najbardziej ciekawi mnie skąd wytrzasnąłeś pan taką iście ciekawą teorię ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />reasumując SCK w sprzętowym SPI działa TAK SAMO jak w twoim programowym SPI <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... zastanów się - banglujesz zboczami SCK tylko po to żeby wysłać bajt - zgadza się ? ....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 lut 2014, o 16:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-27T16:40:44+01:00</updated>
<published>2014-02-27T16:40:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72261#p72261</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72261#p72261"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72261#p72261"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />ale zaraz zaraz - to niby z opisu SPI wynika dla ciebie że sygnał SCK cały czas sobie ..... pędzi jak motorek i nigdy go nie można zatrzymać ?<br /></div><br /><br />Po inicjalizacji z tego co rozumiem to tak, ale ustawie SPI na disable za pomocą: SPCR &amp;= ~(1&lt;&lt;SPE) to nasz motorek powinien stanąć na czerwonym  <img src="https://forum.atnel.pl/images/smilies/icon_question.gif" alt=":?:" title="Znak zapytania" /> oczywiście do czasu kolejnej inicjalizacji. Pewnie znowu coś bredzę <img src="https://forum.atnel.pl/images/smilies/icon_e_confused.gif" alt=":?" title="Boi się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 27 lut 2014, o 16:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-27T16:36:06+01:00</updated>
<published>2014-02-27T16:36:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72259#p72259</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72259#p72259"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72259#p72259"><![CDATA[
<div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />Po przeczytaniu działu z niebieskiej księgi nadal nie wiem jak przestać wysyłać sygnał na SCK po wysłaniu wszystkich bajtów przez sprzętowe SPI - wcześniej wspomniana przerwa (min 500us).<br />Czuję się jak ułomne dziecko, ale tyle różnych podejść co już przetestowałem (a wiadomo tonący brzydko się chwyta więc i najróżniejsze głupie próby  ) i nadal nic.<br />Po prostu nie wiem jak zatrzymać zegar tykający na SCK PB7 po wysłaniu wszystkich bajtów. Niby rozumiem schemat, zasadę działania ale tego chyba nie ogarnę<br /></div><br /><br />ale zaraz zaraz - to niby z opisu SPI wynika dla ciebie że sygnał SCK cały czas sobie ..... pędzi jak motorek i nigdy go nie można zatrzymać ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 lut 2014, o 16:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-27T16:27:59+01:00</updated>
<published>2014-02-27T16:27:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72258#p72258</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72258#p72258"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72258#p72258"><![CDATA[
Sprawy poszły trochę naprzód <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" /> Tym razem wziąłem się za programowe SPI - zrobiłem wszystko identycznie jak wcześniej, tyle że wszystkie stany ustawiane są 'ręcznie'. <br /><br />[syntax=c]#define WS2803_Latch_Delay 600  // &lt;--- Latch delay in PDF it is 600 us<br />void SendSoftSpi( uint8_t bajt ) {<br /><br />uint8_t cnt=0x80;<br /><br />SCK_0;<br />/* wysylamy bajt do ukladu Slave */<br />while( cnt ) {<br />if( bajt &amp; cnt ) MOSI_1;  //maskowanie i sprawdzenie bitu nastepnie wyslanie<br />else MOSI_0;<br />SCK_1; // wsun bit do rejestru<br />SCK_0;<br />cnt&gt;&gt;=1;<br />} /* czekamy az zostanie wyslany ostatni bit */<br />}<br /><br /><br />void SendSoftSpiBuffer( uint16_t length, uint8_t *buffer ){<br /><br />while (length--) SendSoftSpi(*buffer++);<br /><br />SCK_0;  // ustaw SCK na stan niski (co prawda zostal juz ustawiony w SendSoftSPI )<br />_delay_us(WS2803_Latch_Delay);<br />}[/syntax]<br /><br />W tym przypadku wszystko działa i pierwszy efekt można zobaczyć tutaj:<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 />Jedyną poprawką była zmiana wielkości bufera 'lengthPlus' no i ustawianie wszystkich stanów z ręki.<br /><br />Po przeczytaniu działu z niebieskiej księgi nadal nie wiem jak przestać wysyłać sygnał na SCK po wysłaniu wszystkich bajtów przez sprzętowe SPI - <em>wcześniej wspomniana  przerwa (min 500us)</em>.<br />Czuję się jak ułomne dziecko, ale tyle różnych podejść co już przetestowałem (a wiadomo tonący brzydko się chwyta więc i najróżniejsze głupie próby <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" /> ) i nadal nic.<br />Po prostu nie wiem jak zatrzymać zegar tykający na SCK PB7 po wysłaniu wszystkich bajtów. Niby rozumiem schemat, zasadę działania ale tego chyba nie ogarnę <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> — 27 lut 2014, o 16:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-27T10:32:55+01:00</updated>
<published>2014-02-27T10:32:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72241#p72241</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72241#p72241"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72241#p72241"><![CDATA[
<div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />Tutaj nie rozumiem sposobu utrzymania tego niskiego sygnały na SCK<br /></div><br /><br />Tzn ale co tu rozumieć - nic nie trzeba robić - trzeba przestać przesyłać na MINIMUM 500 us i to wszystko a skoro minimum to może to trwać nawet jedną minutę<br /><br />po prostu wysyłasz wszystkie dane do rejestru lub ciągu rejestrów i przerwa (min 500us) potem znowu wysyłasz i przerwa ... nic tu nie trzeba LATCH'ować<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 lut 2014, o 10:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-27T10:17:07+01:00</updated>
<published>2014-02-27T10:17:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72240#p72240</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72240#p72240"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72240#p72240"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />to musisz jednak najpierw poczytać jeszcze raz o SPI, i poćwiczyć SPI na przykładzie jakiegoś ZWYKŁEGO rejestru przesuwnego np 74HC595 - zarówno w wersji sprzętowej jak i programowej z Bluebooka - żeby zaskoczyć o co chodzi<br /></div><br /><br />Zrobiłem przed podejściem do tych scalaków przykład z 3ma rejestrami przesuwnymi, ale tam nasz LATCH był na zupełnie innym pinie, wystarczyło zapuścić stan wysoki i niski (bo LATCH'owanie było przy narastającym zboczu) i wszystko pięknie śmigało. Tutaj nie rozumiem sposobu utrzymania tego niskiego sygnały na SCK ...<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 11 minutach ]</span></strong><br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />jeszcze raz pytam - jeśli używasz sprzętowego SPI ... .to powiedz mi co to za wynalazek z jakimś ręcznym sterowaniem pinem SCK ???<br /></div><br /><br />ok...tak po chwili zastanowienia, zamiast ingerować w sygnał SCK ręcznie i próbach wyzwalaniu niskiego sygnału na tym pinie po wysłaniu paczki powinienem ustawić odpowiedni preskaler w rejestrze SPCR tak aby okres zegara SCK wynosił np. T=2*610 us<br /><br />Czy już zaczynam dobrze kombinować ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 27 lut 2014, o 10:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-27T10:14:32+01:00</updated>
<published>2014-02-27T10:14:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72239#p72239</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72239#p72239"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72239#p72239"><![CDATA[
jeszcze raz pytam - jeśli używasz sprzętowego SPI ... .to powiedz mi co to za wynalazek z jakimś ręcznym sterowaniem pinem SCK ??? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br />wygląda na to że działasz na razie mocno po omacku .... a jednak SPI trzeba zrozumieć<br /><br />zabierz się za czytanie o tym i ew dopytaj co sprawia ci kłopot - wtedy łatwiej będzie coś pomóc<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 lut 2014, o 10:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-27T10:13:30+01:00</updated>
<published>2014-02-27T10:13:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72238#p72238</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72238#p72238"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72238#p72238"><![CDATA[
próbowałem już wszystkiego bo zwykłe zarzucenie:<br /><br />[syntax=c]void SendSpiBuffer( uint8_t length, uint8_t *buffer ){<br />uint32_t lengthPlus=length+1; // dodajemy 1 bo w funkcji while od razu mamy liczbe length -1<br />while (lengthPlus--) SendSpi(*buffer++);<br />    PORTB &amp;= ~((1&lt;&lt;SCK));<br />}[/syntax]<br /><br />po wysłaniu całej paczki 18 bajtów nic nie daje. Nie mam zielonego pojęcia jak do tego podejść.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 27 lut 2014, o 10:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-27T10:11:21+01:00</updated>
<published>2014-02-27T10:11:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72237#p72237</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72237#p72237"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72237#p72237"><![CDATA[
używasz sprzętowego SPI ... i takie rzeczy robisz w kodzie ???<br /><br />[syntax=c]while (cnt != 0) {   // dla cnt od 1 do 255 ustaw niski stan na CLK pin PB7 (każde przerwanie co 600us/255)<br />    PORTB &amp;= ~((1&lt;&lt;SCK));<br />    }[/syntax]<br /><br /><img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />to musisz jednak najpierw poczytać jeszcze raz o SPI, i poćwiczyć SPI na przykładzie jakiegoś ZWYKŁEGO rejestru przesuwnego np 74HC595 - zarówno w wersji sprzętowej jak i programowej z Bluebooka - żeby zaskoczyć o co chodzi<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 lut 2014, o 10:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-27T10:09:12+01:00</updated>
<published>2014-02-27T10:09:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72236#p72236</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72236#p72236"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72236#p72236"><![CDATA[
Ledwo co się człowiek obudził i od razu dalsze bitwy z uruchomieniem WS2803 <img src="https://forum.atnel.pl/images/smilies/icon_e_ugeek.gif" alt=":ugeek:" title="Świr, i to jaki!" /> <br /><br />niestety poniższy kod także nie zadziałał:<br /><br />[syntax=c]void SendSpiBuffer( uint8_t length, uint8_t *buffer ){<br /><br />uint32_t lengthPlus=length+1; // dodajemy 1 bo w funkcji while od razu mamy liczbę length -1<br />while (lengthPlus--) SendSpi(*buffer++);<br /><br />cnt=1;<br />    while (cnt != 0) {   // dla cnt od 1 do 255 ustaw niski stan na CLK pin PB7 (każde przerwanie co 600us/255)<br />    PORTB &amp;= ~((1&lt;&lt;SCK));<br />    }<br />}<br /><br /><br />void InitTimer0(void){<br /><br />/////////////////////////Inizjalizacja TIMER0 ////////////////////////<br /><br />TCCR0 |= (1 &lt;&lt; WGM01); // tryb CTC<br />TCCR0 |= (1 &lt;&lt; CS01 |(1 &lt;&lt;CS00) ); // preskaler = 64<br />OCR0 = 4; // dodatkowy podzial przez 4 (rej. przepelnienia)  co daje przerwanie co kazde 600us/255<br />TIMSK |= (1 &lt;&lt; OCIE0); // zezwolenie na przerwanie CompareMatch<br />sei();// wlaczenie globalnego zezwolenia na przerwania<br /><br />}<br /><br />// ================= PROCEDURA OBS£UGI PRZERWANIA – COMPARE MATCH ==========//<br />ISR(TIMER0_COMP_vect)<br />{<br />cnt++; // co przerwanie zwieksz licznik od 0 do 255<br />}[/syntax]<br /><br />Próbowałem dla różnych wartości sygnały i nadal nic.<br /><br />Wczoraj wieczorem dostałem taśmę z magic LED, ale nie zacznę oglądać poradników dopóki nie ruszy mi ten scalaczek - taki mam plan <img src="https://forum.atnel.pl/images/smilies/icon_twisted.gif" alt=":twisted:" title="Szalony" />. <br /><br />Pomóżcie panowie bo konkretnie utknąłem  <img src="https://forum.atnel.pl/images/smilies/icon_e_confused.gif" alt=":?" title="Boi się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 27 lut 2014, o 10:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-26T22:59:19+01:00</updated>
<published>2014-02-26T22:59:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72219#p72219</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72219#p72219"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=72219#p72219"><![CDATA[
<div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />za pomocą MOSI i CLK pompujesz dane do rejestrów - ile wlezie, ile chcesz - a jak je wpompowałeś to odkręcasz kurek (LATCH) żeby woda mogła z kraników (bitów) wytrysnąć (diody się zaświecić)<br /></div><br /><br />No nie wiem panowie, niby wtłaczam wszystkie dane do jednego scalaka WS2803, czyli 18 bajtów, na końcu próbowałem ustawić stan niski na CLK i nie działa tak jak powinno. Czasem się załącza czasem nie.<br /><br />[syntax=c]/* Wysyłane 18 bajtów*/<br />uint8_t buffer&#91;&#93; = {0,0,40,0,0,0,0,0,255,255,33,255,0,255,0,255,15,100};<br /><br />    /* definicja  funkcji wysyłającej bajt */<br /><br />    void SendSpi( uint8_t bajt ) {<br />    /* wysyłamy bajt do układu Slave */<br />    SPDR = bajt;<br />    /* czekamy aż zostanie wysłany ostatni bit */<br />    while( !(SPSR &amp; (1&lt;&lt;SPIF)) );<br /><br />}<br /><br />void SendSpiBuffer( uint16_t length, uint8_t *buffer ){<br /><br /><br />    uint16_t lengthPlus=length+1;<br />    while (lengthPlus--) SendSpi(*buffer++);<br /><br />  <br />    PORTB &amp;= ~((1&lt;&lt;MOSI)|(1&lt;&lt;SCK));  // CZEGOŚ TU BRAKUJE<br /><br />}[/syntax]<br /><br /><br />No nie mam pojęcia jak ustawić te LATCHowanie po wysłaniu całego bufera.<br />Sprawa wydaje się łatwa, ale próbowałem z delay z timerami, aby utrzymać stan niski na tym SCK i nic.<br /><br />Dane w buferze są - jest ich dokładnie 18 bajtów, gdzie każdy określa PWM pojedynczej diody. Następnie wysyłamy ją do SendBufer, który po kolei wysyła każdy bajt sprzętowo. No i ten nieszczęsny LATCH po wysłaniu wszystkich 18 bajtów. Siedzę główkuję i brak jakiegoś rezultatu <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" />  Może jakieś podpowiedzi jak ten kurek odkręcić ? Jak to rozgryźć <img src="https://forum.atnel.pl/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" title="Pan Zielony" /> ?<br /><br />W nocie pisze, że ma być stan niski na CLK powyżej 600us, eh... <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> — 26 lut 2014, o 22:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-25T13:43:49+01:00</updated>
<published>2014-02-25T13:43:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71974#p71974</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71974#p71974"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71974#p71974"><![CDATA[
...coś jakby żaróweczka mi się zapaliła, po powrocie do domu skrobnę podstawowy kod, który lata mi po głowie i wynik końcowy zamieszczę tutaj.<br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />co do terminów poradników - oj przykro mi ale to strasznie trudno mi przewidzieć na dzień dzisiejszy, nie że nie chcę czy coś - tylko po prostu .... no krótko mówiąc gdyby moja praca polegała TYLKO na robieniu poradników i z tego mógłbym się utrzymywać to zapewniam cię że chyba codziennie przez co najmniej dwa lata mogłyby się ukazywać- tyle mam pomysłów sam na poradniki, a potem jeszcze przez 6 lat realizowałbym pomysły nadsyłane przez widzów <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br /><br />Jakbym miał możliwość to chętnie dałbym Ci te 6 lat w prezencie a nawet 7 <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=850">barszczz</a> — 25 lut 2014, o 13:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-25T13:34:01+01:00</updated>
<published>2014-02-25T13:34:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71971#p71971</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71971#p71971"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71971#p71971"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Nie mam pojęcia jak to zrobić bo przecież na pinie PB7 tyka nam zegar no i jak w jakiejś funkcji ustawie PORTB &amp;= ~(1&lt;&lt;PB7); _delay_us(610) a następnie ponownie inicjalizacje SPI to nie będzie to najciekawsze rozwiązanie   <br />Moze jakaś podpowiedz tutaj<br /></div><br /><br />eeeeś <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> przecież już wyżej pisałeś że zaskoczyłeś jak to jest z tym LATCH'owaniem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />DOPIERO PO WYSŁANIU CAŁOŚCI - raz machniesz stanem na wyjśiu LATCH i po zawodach - nie do końca rozumiem w czym tu masz jakby problem - zrozum mnie. Przecież ty nie masz laczować pomiędzy taktami zegara - a pomiędzy wysyłanymi bajtami czy tam paczkami bajtów itp więc nie wplataj w to CLK bo to KOMPLETNIE nie ma nic wspólnego. <br /><br />za pomocą MOSI i CLK pompujesz dane do rejestrów - ile wlezie, ile chcesz - a jak je wpompowałeś to odkręcasz kurek (LATCH) żeby woda mogła z kraników (bitów) wytrysnąć (diody się zaświecić)<br /><br />----------------------------<br /><br />co do terminów poradników - oj przykro mi ale to strasznie trudno mi przewidzieć na dzień dzisiejszy, nie że nie chcę czy coś - tylko po prostu .... no krótko mówiąc gdyby moja praca polegała TYLKO na robieniu poradników i z tego mógłbym się utrzymywać to zapewniam cię że chyba codziennie przez co najmniej dwa lata mogłyby się ukazywać-  tyle mam pomysłów sam na poradniki, a potem jeszcze przez 6 lat realizowałbym pomysły nadsyłane przez widzów <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> — 25 lut 2014, o 13:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-25T13:17:50+01:00</updated>
<published>2014-02-25T13:17:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71969#p71969</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71969#p71969"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71969#p71969"><![CDATA[
Tak rozumiem, że przy sprzętowym SPI czekamy na falge i wówczas procesor robi wszystko za nas (nie martwimy się o przebiegi czasowe).<br /><br />Jedyny problem jaki istnieje z braku mojego wcześniejszego doświadczenia to te nieszczęśliwe LATCH'owanie, gdzie musimy wymusić niski sygnał na SCK przez więcej niż 600 us (LATCH DELAY).<br /><br />Nie mam pojęcia jak to zrobić bo przecież na pinie PB7 tyka nam zegar no i jak w jakiejś funkcji ustawie PORTB &amp;= ~(1&lt;&lt;PB7); _delay_us(610) a następnie ponownie inicjalizacje SPI to nie będzie to najciekawsze rozwiązanie  <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" /> <br />Moze jakaś podpowiedz tutaj  <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" />  ?<br /><br />Co do programowego SPI to we wspomnianej bibliotece widziałem w użyciu SCK o okresie 20us a Latch Delay = 2000us.<br /><br />Z wcześniejszych postów pamiętam, że i odnośnie scalaków WS280xx planujesz jakieś poradniki, a czy uchylisz rąbka tajemnicy i powiesz na kiedy jest planowana jakaś premiera <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ?<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 25 lut 2014, o 13:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-25T13:01:34+01:00</updated>
<published>2014-02-25T13:01:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71967#p71967</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71967#p71967"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71967#p71967"><![CDATA[
<div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />Dla programowego SPI w tym wypadku wystarczy ustawienie 0 i np. delay'a, ale jeśli chodzi o przebiegi czasowe z noty katalogowej, nie mam pojęcia jaki czas powinien występować dla jednego taktu CLK<br /></div><br /><br />żadnych delayów, coś kolega kombinuje pod górę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i to na maxa<br /><br />przy programowym SPI zapomnij o delayach albo o jakichkolwiek czasach z noty że np MUSI być 20 ns. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> W nocie masz podane MINIMALNE czasy i nawet się do nich nie zbliżysz programowym SPI. Za to przy komunikacji SPI możesz sobie te czasy wydłużać ile wlezie a i tak wszystko będzie działać ... <br /><br />Poczytaj jeszcze raz w Bluebooku o komunikacji SPI. To nie ma NIC WSPÓLNEGO z protokołem NZR w scalakach WS2811/WS2812 - gdzie trzeba drastycznie dbać o czasówkę.<br /><br />Przy SPI - to nawet sprzętowo nie dojdziesz do CLK 20 ns <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Musiałbyś mieć procka taktowanego kwarcem 100 MHz i wtedy z dzielnikiem :2 osiągnąłbyś może 20 ns<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 25 lut 2014, o 13:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-25T11:52:13+01:00</updated>
<published>2014-02-25T11:52:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71958#p71958</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71958#p71958"/>
<title type="html"><![CDATA[Re: WS2803 - LED DRIVER - SCHEMAT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5864&amp;p=71958#p71958"><![CDATA[
powoli zaczynam zabawę z programowaniem scalaków WS280xx. Na samym początku przebrnąłem przez zasadę działania rejestrów i SPI, więcej informacji tutaj: <a href="http://forum.atnel.pl/topic4751.html"  class="postlink">http://forum.atnel.pl/topic4751.html</a><br /><br />Z noty katalogowej WS2803 widzę opis jakiegoś pinu MS, czy wie ktoś o co tutaj chodzi ?<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/850/a2a874316e6ecfbb4ca9ee4e3d1e3984.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/850/a2a874316e6ecfbb4ca9ee4e3d1e3984.png" alt="Obrazek" /></a><br /><br />Dodatkowo, wspomniano, że do LATCH'owania wszystkich wrzuconych bajtów na wyjście układu muszę ustawić sygnał LOW na pinie CKI, w przypadku sprzętowego SPI będzie to pin PB7 (SCK). <br /><br />Czy w przypadku sprzętowego SPI mogę w jakiś sposób utrzymać stan niski na PB7, aby po pewnym czasie ponownie uzyskać sygnał zegarowy ?<br /><br />Dla programowego SPI w tym wypadku wystarczy ustawienie 0 i np. delay'a, ale jeśli chodzi o przebiegi czasowe z noty katalogowej, nie mam pojęcia jaki czas powinien występować dla jednego taktu CLK.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/850/6f0f2820999aee139f6143f2dc53f1fa.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/850/6f0f2820999aee139f6143f2dc53f1fa.png" alt="Obrazek" /></a><br /><br />W internecie znalazłem przykładową bibliotekę dla scalaka WS2801, gdzie autor ustawił CLK dla okresu 20 us.<br />Czy ma ktoś z tym jakieś doświadczenie ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 25 lut 2014, o 11:52</p><hr />
]]></content>
</entry>
</feed>