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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-02-25T12:05:36+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=4751&amp;mode</id>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-25T12:05:36+01:00</updated>
<published>2014-02-25T12:05:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71963#p71963</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71963#p71963"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71963#p71963"><![CDATA[
tak, udało się z negacją bufera, dzięki !<br /><br />Powracając do SPI, mam pytanie odnośnie możliwości sygnału SCK na pinie PB7. Po inicjalizacji sprzętowego SPI, na pinie tym pojawia się sygnał prostokątny o ustawionym okresie.<br /><br />W przypadku noty katalogowej scalaka WS2803, temat -&gt; <a href="http://forum.atnel.pl/post71958.html#p71958"  class="postlink">http://forum.atnel.pl/post71958.html#p71958</a><br />opisane jest LACH'owanie układu za pomocą ustawienia stanu niskiego, o czasie &gt;600us, na tymże pinie. <br /><br />Czy jest jakiś łatwy sposób, aby przez określony czas wymusić stan niski na SCK a następnie powrócić do standardowego trybu pracy ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 25 lut 2014, o 12:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2014-02-24T22:41:26+01:00</updated>
<published>2014-02-24T22:41:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71898#p71898</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71898#p71898"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71898#p71898"><![CDATA[
negację bufora można by spróbować zanegować przed wysłaniem <br />w pętli np. for lub while<br />[syntax=c]for (uint8_t i=0 ; i&lt; maxbuf;i++)<br />{<br />  buffor &#91;i&#93;=  ~bufor&#91;i&#93;<br />}[/syntax]<br /> powinno odbyć się to dość szybko<br /><br />mam taką nadzieję że to się uda <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=1044">Zaba</a> — 24 lut 2014, o 22:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-24T20:59:49+01:00</updated>
<published>2014-02-24T20:59:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71882#p71882</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71882#p71882"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71882#p71882"><![CDATA[
wypróbowałem metody z buforem i tak jakby działa. Dodatkowe części kodu poniżej:<br /><br />[syntax=c]uint8_t buffer&#91;&#93; = {1,2,4};  // Buffer na potrzeby wysterowania np. 3 rejestrow<br />void SendSpiBuffer( uint8_t length, uint8_t *buffer );/* wysłanie danych z buffera - programowe SPI */<br /><br />SendSpiBuffer(sizeof(buffer),buffer);<br /><br />void SendSpiBuffer( uint8_t length, uint8_t *buffer ){<br /><br />uint32_t lengthPlus=length+1;<br />while (lengthPlus--) SendSpi(*buffer++);<br />LATCH_ON;<br />LATCH_OFF;<br /><br /><br />}[/syntax]<br /><br /><br />Mam dodatkowe pytanie co do kolejnej funkcji języka C, jak widzicie do buffera wpisuje buffer[] = {1,2,4}; <br />czy istnieje jakaś szybka komenda taka jak np. 'flip right to left' (buffer) tak abym odwrócił go w lustrze i otrzymał buffer2= {4,2,1} ?<br /><br />Dodatkowo chciałem programowo zmienić stany z 1 na 0 i odwrotnie tak aby uzyskać poprawny efekt, gdyż diody połączone mam katodą do VCC. Próbowałem zanegować buffer za pomocą tyldy ~ ale oczywiście wyskakuje błąd. Poradziłem sobie z negacją wysyłanego Bajta w SendBajt, ale czy jest jakiś inny prosty sposób ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 24 lut 2014, o 20:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-24T09:51:26+01:00</updated>
<published>2014-02-24T09:51:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71797#p71797</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71797#p71797"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71797#p71797"><![CDATA[
Świetnie ! Wielkie dzięki Panowie !<br /><br />Teraz kolejna rzecz, która mnie zastanawia. W przypadku omawianego sterowania możemy kaskadowo połączyć maksymalnie 8 rejestrów, ponieważ najwyższy typ jaki mamy to uint64_t (64 bity / 8 bajty).<br />Zapewne niejeden z was kontrolował już znacznie większe ilości rejestrów aniżeli 8  <img src="https://forum.atnel.pl/images/smilies/icon_twisted.gif" alt=":twisted:" title="Szalony" /> <br /><br />Czy w tym przypadku najbardziej optymalnym rozwiązaniem dla np. 20 rejestrów byłoby utworzenie bufora zawierającego 20 bajtów i wysłanie go do funkcji sendBajt, w której za pomocy pętli for wysłane zostałyby wszystkie 20 bajty a po ostatnim oczywiście Latch'owane ?<br /><br />Czy dobrze kombinuje  <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=850">barszczz</a> — 24 lut 2014, o 09:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurnachatka]]></name></author>
<updated>2014-02-23T19:24:24+01:00</updated>
<published>2014-02-23T19:24:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71733#p71733</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71733#p71733"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71733#p71733"><![CDATA[
<div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />W tym przypadku muszę znać wielkość tablicy, ale czy istnieje jakaś wbudowana funkcja w języku C, która podałaby mi rozmiar tablicy ? coś jak length (tablica) ? Gdzie mogę wyszukać tego typu funkcji zaimplementowanych w języku C dla mikrokontrolerów ?<br /></div><br /><br />Może sizeof(zmienna);<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=930">kurnachatka</a> — 23 lut 2014, o 19:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-23T18:39:52+01:00</updated>
<published>2014-02-23T18:39:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71725#p71725</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71725#p71725"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71725#p71725"><![CDATA[
Zastanawiałem się jak uzyskać efekt zapalania wybranych diod z poziomu użytkownika a nie przesuwając stan logiczny tak jak w poprzednim przykładzie. Za pomocą tego kodu mogę sterować wybraną diodą spośród 1 a 24:<br /><br />[syntax=c]SendSpi( 0 );<br />uint8_t tablica&#91;15&#93;={24,23,20,22,15,16,19,1,1,8,12,21,12,21,5};<br /><br />while(1) {<br /><br />for ( i=0; i&lt;=15; i++)<br />{<br />ReadyData=ConvertNum2uint(tablica&#91;i&#93;);<br />SendSpi3xBajt(~ReadyData);<br />_delay_ms(300);<br />if (i==14)<br />{<br />i=0;<br />}<br />}<br /><br /><br />uint32_t ConvertNum2uint( uint16_t numerDiody ) {<br /><br />if (numerDiody==0)<br />ReadyData=0x0;<br />else {<br /><br />ReadyData=0x800000&gt;&gt;(numerDiody-1);<br /><br />}<br /><br />return ReadyData;<br />}[/syntax]<br /><br />Jeśli interesuje mnie zapalenie kilku wybranych diod naraz mogę posłużyć się:<br /><br />[syntax=c]uint32_tReadyData1=ConvertNum2uint(12);<br />uint32_tReadyData2=ConvertNum2uint(21);<br />ReadyData=ReadyData1|ReadyData2;[/syntax]<br /><br />W tym przypadku muszę znać wielkość tablicy, ale czy istnieje jakaś wbudowana funkcja w języku C, która podałaby mi rozmiar tablicy ? coś jak length (tablica) ? Gdzie mogę wyszukać tego typu funkcji zaimplementowanych w języku C dla mikrokontrolerów ? <br /><br />wówczas nie musiałbym definiować wielkości tablicy no i w pętli for nie wstawiałbym na stałe wartości inkrementacji.<br />Dzięki za pomoc !<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 23 lut 2014, o 18:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-23T17:04:29+01:00</updated>
<published>2014-02-23T17:04:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71711#p71711</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71711#p71711"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71711#p71711"><![CDATA[
o kurcze...faktycznie zupełnie zapomniałem o LATCH'owaniu w funkcji sendBajt...w tym wypadku wyzwalałem po każdym bajcie a nie tylko raz po wsunięciu wszystkich trzech. No to teraz wszystko śmiga i miga tak jak zaplanowano <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 23 lut 2014, o 17:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-23T16:32:47+01:00</updated>
<published>2014-02-23T16:32:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71705#p71705</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71705#p71705"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71705#p71705"><![CDATA[
<div class="quotetitle">barszczz napisał(a):</div><div class="quotecontent"><br />Czy może mi ktoś wytłumaczyć w jaki sposób one powstają i jak się ich pozbyć ?<br /></div><br /><br />przez to ci się to dzieje<br /><br />[syntax=c]LATCH_ON;<br />        /* odczekanie 1 us – czas trwania impulsu LE */<br />        _delay_us(1);<br />        LATCH_OFF;[/syntax]<br /><br />pomijam już że to <strong><span style="color: #800000"><em>_delay_us(1) </em></span></strong>w książce było jako przykład i nie należy go stosować i że chyba niedobrze obejrzałeś te moje poradniki do których sam podałeś linki<br /><br />ale nie dziwne że masz takie zjawisko jeśli LATCH'ujesz po wysłaniu każdego bajtu ZAMIAST po wysłaniu WSZYSTKICH bajtów do swojego rejestru czy rejestrów<br /><br />Pomyśl sobie jaki jest sens LATCH'ować za każdym bajtem gdy naraz wsuwasz np 4 bajty<br /><br />eeeh jak mówię <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> jeszcze raz obejrzyj ale teraz dokładnie mój poradnik i wtedy zobaczysz w czym rzecz - bo mówię o tym i to wyraźnie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 lut 2014, o 16:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-23T16:22:58+01:00</updated>
<published>2014-02-23T16:22:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71703#p71703</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71703#p71703"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71703#p71703"><![CDATA[
na szybko przeleciałem przez dwa poradniki dotyczące SPI i rejestrów przesuwnych (wstawie odnosniki do poradników poniżej, to kolejni początkujący nie będą musieli ich szukać ) :<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> i <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 />Ostatnim razem część dotycząca wysyłania 2 bajtów umknęła mej uwadze. Dzięki temu przykładowi udało mi się wysterować 3 rejestry. Po raz kolejny fachowe wyjaśnienie no i końcowy efekt widać poniżej :<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 />kod który użyłem to:<br />[syntax=c]/* definicja  funkcji wysyłającej 3 bajty */<br />void SendSpi3xBajt( uint32_t bajtX3 ) {<br />/* wysyłamy bajt do układu Slave */<br /><br />uint8_t bajt=bajtX3&gt;&gt;16;<br />SendSpi(bajt);<br />/* czekamy aż zostanie wysłany ostatni bit */<br />while( !(SPSR &amp; (1&lt;&lt;SPIF)) );<br /><br /><br />bajt=bajtX3&gt;&gt;8;<br />SendSpi(bajt);<br />/* czekamy aż zostanie wysłany ostatni bit */<br />while( !(SPSR &amp; (1&lt;&lt;SPIF)) );<br /><br />bajt=bajtX3;<br />SendSpi(bajt);<br />/* czekamy aż zostanie wysłany ostatni bit */<br />while( !(SPSR &amp; (1&lt;&lt;SPIF)) );<br /><br />LATCH_ON;<br />/* odczekanie 1 us – czas trwania impulsu LE */<br />_delay_us(1);<br />LATCH_OFF;<br />}[/syntax]<br /><br />Na pierwszym filmiku zauważalne jest zjawisko dodatkowych mignięć innych diod. Tutaj jest to bardziej widoczne:<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 />Czy może mi ktoś wytłumaczyć w jaki sposób one powstają i jak się ich pozbyć ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=850">barszczz</a> — 23 lut 2014, o 16:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2014-02-22T23:30:17+01:00</updated>
<published>2014-02-22T23:30:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71641#p71641</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71641#p71641"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71641#p71641"><![CDATA[
Wyślij po kolei wszystkie bity <br />do połączonych w łańcuch rejestrów i na końcu &quot;zatrzaśnij&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1044">Zaba</a> — 22 lut 2014, o 23:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[barszczz]]></name></author>
<updated>2014-02-22T23:24:31+01:00</updated>
<published>2014-02-22T23:24:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71638#p71638</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71638#p71638"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=71638#p71638"><![CDATA[
Znalazłem ten temat więc nie będę zakładał nowego. Ja też po obejrzeniu filmiku o rejestrach przesuwnych postanowiłem zapoznać się z tematem i spróbować wysterować 3 rejestry.<br />Schemacik testowego układu tak jak poniżej:<br /><a href="http://forum.atnel.pl/_obrazki/o/850/0ee7d5a63b93c372c94fbf49590d5c57.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/850/0ee7d5a63b93c372c94fbf49590d5c57.png" alt="Obrazek" /></a><br /><br />A wykonaną płytkę PCB widać tutaj:<br /><a href="http://forum.atnel.pl/_obrazki/o/850/b47fa30f6f010ef981249a4698b2ffda.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/850/b47fa30f6f010ef981249a4698b2ffda.jpg" alt="Obrazek" /></a><br /><br />Jest to jedna z pierwszych płytek mojego autorstwa, więc chciałem się podpytać o kondensatory C1, C6 i C7 przy zasilaniu rejestrów. Czy powinny być one jak najbliżej nóżek zasilania, czy też ich pozycja nie jest aż tak ważna ?<br /><br />Po wgraniu kodu o ISP z niebieskiej książki diody wysterowane są tak jak na tym filmiku:<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 />Interesuje mnie sposób rozszerzenia funkcji SendISP z uint8  tak aby z łatwością móc wysterować każdą z 24 diod dołączonych do 3 rejestrów. Czy możecie mi podać rozdział w niebieskiej książce bądź w innym poradniku Mirka gdzie omawiany jest sposób wysłania większego ciągi bitów przed ich zatrzaśnięciem.<br /><br />Rozumiem, że teraz przed każdym zatrzaskiem wysyłam 8 bitów, ale co gdybym chciał móc uzyskać efekt wędrowania jednej diody w górę i w dół dla 24 diod  <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=850">barszczz</a> — 22 lut 2014, o 23:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ishiguro]]></name></author>
<updated>2013-11-12T13:36:19+01:00</updated>
<published>2013-11-12T13:36:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=56511#p56511</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=56511#p56511"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=56511#p56511"><![CDATA[
Dziękuje za odpowiedź. Była bardzooooo pomocna <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=2017">ishiguro</a> — 12 lis 2013, o 13:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-11T20:12:44+01:00</updated>
<published>2013-11-11T20:12:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=56410#p56410</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=56410#p56410"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=56410#p56410"><![CDATA[
<div class="quotetitle">Juffre napisał(a):</div><div class="quotecontent"><br />2: Podłaczamy 74HC595 do dowolnych pinów I/O procesora. Aby sterować rejestrem musimy napisać kod, który tak będzie sterował tymi nóżkami, jak robi to wbudowany interfejs SPI. Nazywa się to programowym SPI.<br /></div><br /><br />Ja tylko uzupełnię że w Bluebooku jest właśnie opisane programowe SPI, i właśnie to można wykorzystać do podłączenia np 74595 do dowolnych pinów procka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 lis 2013, o 20:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juffre]]></name></author>
<updated>2013-11-11T19:58:44+01:00</updated>
<published>2013-11-11T19:58:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=56402#p56402</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=56402#p56402"/>
<title type="html"><![CDATA[Re: Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=56402#p56402"><![CDATA[
Można to zrobić na 2 sposoby:<br />1: Podłączamy 74HC595 do nóżek MISO, MOSI, SCK, SS w procesorze. Do sterowania rejestrem wykorzystamy sprzętowy interfejs procesora SPI, ustawiając odpowiednie rejestry konfiguracyjne w procesorze.<br /><br />2: Podłaczamy 74HC595 do dowolnych pinów I/O procesora. Aby sterować rejestrem musimy napisać kod, który tak będzie sterował tymi nóżkami, jak robi to wbudowany interfejs SPI. Nazywa się to programowym SPI.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=473">Juffre</a> — 11 lis 2013, o 19:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ishiguro]]></name></author>
<updated>2013-11-11T19:39:47+01:00</updated>
<published>2013-11-11T19:39:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=56398#p56398</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=56398#p56398"/>
<title type="html"><![CDATA[Rejestr Przesuwny 74HC595]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4751&amp;p=56398#p56398"><![CDATA[
Witam.<br />Ostatnio oglądałem poradnik od Pana Mirosława na temat rejestrów przesuwnych 74HC595. Tutaj zrodziło się moje pytanie, a mianowicie na początku jest pokazane, że piny od rejestru są podłączone do pinów PC0, PC1, PC2 natomiast później w kodzie C jest mowa o podłączeniu ich do  portów MOSI (albo MISO nie pamiętam teraz), SCK oraz chyba PB5. Czy można sobie podłączyć te 3 nóżki rejestru do innych portów mikrokontrolera i jak to wygląda w C?<br /><br />Z góry dziękuję <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=2017">ishiguro</a> — 11 lis 2013, o 19:39</p><hr />
]]></content>
</entry>
</feed>