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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-10-26T13:14:30+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=2259&amp;mode</id>
<entry>
<author><name><![CDATA[mirek1968]]></name></author>
<updated>2013-10-26T13:14:30+01:00</updated>
<published>2013-10-26T13:14:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=54355#p54355</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=54355#p54355"/>
<title type="html"><![CDATA[Re: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio segm]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=54355#p54355"><![CDATA[
Już sobie poradziłem z tym problemem przykleiła mi sie dioda impulsowa akurat do druku płytki testowej i robiła zwarcie:-)<br />Udało mi się także uruchomić SPI na moich rejestrach przesuwnych  74595 i działa ok,mam tylko jedno pytanie czy jakbym chciał użyć w swoim projekcie przerwania zamiast delayów to czy w obsłudze przerwania wrzucić ?,własnie co tam wrzucić??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=922">mirek1968</a> — 26 paź 2013, o 13:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirek1968]]></name></author>
<updated>2013-10-23T20:24:11+01:00</updated>
<published>2013-10-23T20:24:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=54110#p54110</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=54110#p54110"/>
<title type="html"><![CDATA[Re: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio segm]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=54110#p54110"><![CDATA[
Odbiegając troszkę od mojego tematy mam problem z Eclipse.<br />Po otwarciu programu mam taki błąd i nie mogę nic przesłać do procesora pomimo poprawnej kompilacji programu.<br />Prosze o pomoc.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/922/885e4b3fb985ed37599fc6209bb0f1cf.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/922/885e4b3fb985ed37599fc6209bb0f1cf.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=922">mirek1968</a> — 23 paź 2013, o 20:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirek1968]]></name></author>
<updated>2013-10-10T14:11:48+01:00</updated>
<published>2013-10-10T14:11:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=52467#p52467</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=52467#p52467"/>
<title type="html"><![CDATA[Re: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio segm]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=52467#p52467"><![CDATA[
Od komentowałem i nadal nic:-)<br /><br />[syntax=c]&#91;syntax=c&#93;int main( void )<br />{<br />InitSpi();//inicjalizacja SPI<br />SendSpiWord( Display&#91;0&#93;); //wysyłam i nic się nie dzieje???<br /><br />}[/syntax]<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=922">mirek1968</a> — 10 paź 2013, o 14:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-10-10T14:10:40+01:00</updated>
<published>2013-10-10T14:10:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=52466#p52466</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=52466#p52466"/>
<title type="html"><![CDATA[Re: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio segm]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=52466#p52466"><![CDATA[
Jest tego sporo np. PCF8575, MCP23017 i jeszcze kilka innych<br /><br />Tylko co za problem połączyć kaskadowo 2x595?<p>Statystyki: Napisane przez Gość — 10 paź 2013, o 14:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[charsz]]></name></author>
<updated>2013-10-10T13:49:35+01:00</updated>
<published>2013-10-10T13:49:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=52464#p52464</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=52464#p52464"/>
<title type="html"><![CDATA[Re: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio segm]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=52464#p52464"><![CDATA[
<div class="quotetitle">mirek1968 napisał(a):</div><div class="quotecontent"><br />[syntax=c]int main( void )<br />{<br />InitSpi();//inicjalizacja SPI<br />//SendSpiWord( Display&#91;0&#93;); //wysyłam i nic się nie dzieje???<br /><br />}[/syntax]<br /></div><br />No jak wysylasz, skoro masz linie zakomentowana?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=926">charsz</a> — 10 paź 2013, o 13:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirek1968]]></name></author>
<updated>2013-10-10T14:10:50+01:00</updated>
<published>2013-10-10T13:29:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=52463#p52463</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=52463#p52463"/>
<title type="html"><![CDATA[Re: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio segm]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=52463#p52463"><![CDATA[
Muszę o coś zapytać bo nie daję sobie rady z tym wysyłaniem 2-bajtów do rejestrów.<br /><br />[syntax=c]const uint16_t Display&#91;&#93;={0X80F8};//to powinno mi aktywować wyświetlacz ósmy oraz<br />//wyświetlić cyfrę 7[/syntax]<br /><br /><br />[syntax=c]int main( void )<br />{<br />InitSpi();//inicjalizacja SPI<br />SendSpiWord( Display&#91;0&#93;); //wysyłam i nic się nie dzieje???<br /><br />}[/syntax]<br /><br /><br />[syntax=c]//funkcja wysyłania worda z kursu Mirka-najpierw starszy bajt a potrm młodszy a następnie impuls positive _zatrzask<br />void SendSpiWord( uint16_t word ) {<br /><br /><br />SPDR = word&gt;&gt;8;<br />while( !(SPSR &amp; (1&lt;&lt;SPIF)) );<br /><br />SPDR = word;<br />while( !(SPSR &amp; (1&lt;&lt;SPIF)) );<br /><br /><br />LT_ON;<br />LT_OFF;<br />}[/syntax]<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/922/d8f464a04a519ebdfd498167f16435f9.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/922/d8f464a04a519ebdfd498167f16435f9.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=922">mirek1968</a> — 10 paź 2013, o 13:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ursmar]]></name></author>
<updated>2013-02-14T18:50:33+01:00</updated>
<published>2013-02-14T18:50:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=28116#p28116</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=28116#p28116"/>
<title type="html"><![CDATA[Re: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio segm]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=28116#p28116"><![CDATA[
Na płycie DVD dołączonej do książki <a href="http://atnel.pl/mikrokontrolery-avr-jezyk-c.html"  class="postlink">Mikrokontrolery AVR Język C Podstawy programowania</a> jest dobry przykład --&gt; <span style="color: #0000FF">03_Multi_LED</span><br />Sam ostatnio to przerabiałem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> i sporo się dzięki niemu dowiedziałem.<br />Oczywiście wraz z opisem w książce, wszystko opisane przejrzyście.  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <br />Tylko z tego co pamiętam przykład dotyczy wyświetlacza ze wspólną katodą a nie anodą, ale jeśli chodzi o programowanie to idea jest ta sama.  <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=716">ursmar</a> — 14 lut 2013, o 18:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirek1968]]></name></author>
<updated>2013-02-14T18:33:18+01:00</updated>
<published>2013-02-14T18:33:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=28110#p28110</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=28110#p28110"/>
<title type="html"><![CDATA[Re: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio segm]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=28110#p28110"><![CDATA[
A gdzie to można podpatrzyć?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=922">mirek1968</a> — 14 lut 2013, o 18:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PawelGaj]]></name></author>
<updated>2013-02-14T01:13:29+01:00</updated>
<published>2013-02-14T01:13:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=28011#p28011</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=28011#p28011"/>
<title type="html"><![CDATA[Re: Odp: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=28011#p28011"><![CDATA[
Powinieneś zamiast 1 wysłać cały znak z tablicy. Pod patrz jak robi to Mirek <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=":wink:" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=784">PawelGaj</a> — 14 lut 2013, o 01:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirek1968]]></name></author>
<updated>2013-02-13T18:55:47+01:00</updated>
<published>2013-02-13T18:55:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=27950#p27950</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=27950#p27950"/>
<title type="html"><![CDATA[Re: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio segm]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=27950#p27950"><![CDATA[
A może coś więcej,bo to przecież kawałek mojego kodu powyżej co napisałem:-(<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=922">mirek1968</a> — 13 lut 2013, o 18:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PawelGaj]]></name></author>
<updated>2013-02-13T09:47:05+01:00</updated>
<published>2013-02-13T09:47:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=27857#p27857</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=27857#p27857"/>
<title type="html"><![CDATA[Re: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio segm]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=27857#p27857"><![CDATA[
<div class="quotetitle">mirek1968 napisał(a):</div><div class="quotecontent"><br />Możesz może dopisać coś do tego kodu abym mógł to ruszyć z miejsca?<br />Jeśli tak to poproszę.<br /><br />[syntax=c]<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br />/* hardware SPI */<br />#define MOSI PB5//   wejście DS rejestru przesuwnego<br />#define SCK PB7//   wejście SHCP rejestru przesuwnego<br />#define CS PB4// wejście STCP rejestru przesuwnego<br /><br /><br />void InitSpi(void);/* inicjalizacja sprzętowego SPI */<br />void SendSpi( uint8_t bajt );/* wysłanie bajtu - sprzętowe SPI */<br /><br /><br />uint8_t cnt;<br /><br />//**************************** główna funkcja programu<br />int main(void) {<br />/* inicjalizacja SPI */<br /><br />InitSpi();<br /><br /><br /><br />SendSpi( 0 );<br /><br /><br />while(1) {<br />cnt=0b01000000; //wybór liczby na wyświetlaczu<br />SendSpi( cnt );<br /><br />cnt=0b00000001;//Wybór wyświetlaczy<br />SendSpi( cnt );<br /><br /><br /><br />} <br /><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)|(1&lt;&lt;CS);<br /><br />SPCR |= (1&lt;&lt;SPE)|(1&lt;&lt;MSTR)|(1&lt;&lt;SPR1);<br />}<br /><br /><br /><br />[/syntax]<br /><br /><br /><strong><span style="color: #FF0000">Kody umieszczamy w znaczniku syntax   -- poprawiłem  --&gt; moderator user friendly  : SunRiver</span></strong><br /></div><br /><br />Ok, już jestem na kompie.<br /><br />[syntax=c]<br />cnt=0b01000000; //wybór liczby na wyświetlaczu<br />SendSpi( cnt );<br /><br /><br />                cnt=0b00000001;//Wybór wyświetlaczy<br />                SendSpi( cnt );<br />[/syntax]<br />Tutaj zamiast wysłania liczby wysyłasz 1nkę na wyświetlacz. Czyli zapali ci się segment G. Potem wybierasz 1wszy wyświetlacz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=784">PawelGaj</a> — 13 lut 2013, o 09:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PawelGaj]]></name></author>
<updated>2013-02-13T01:38:06+01:00</updated>
<published>2013-02-13T01:38:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=27831#p27831</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=27831#p27831"/>
<title type="html"><![CDATA[Re: Odp: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=27831#p27831"><![CDATA[
Ee no tak łatwo to nie ma <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":smile:" title="Szczęśliwy" /> Jak chcesz się czegoś nauczyć musisz to zrozumieć. Na razie jestem na telefonie, jutro postaram się Ci pomóc. Powiem Ci co musisz zrobić:smile:<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=784">PawelGaj</a> — 13 lut 2013, o 01:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirek1968]]></name></author>
<updated>2013-02-12T21:46:30+01:00</updated>
<published>2013-02-12T21:46:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=27801#p27801</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=27801#p27801"/>
<title type="html"><![CDATA[Re: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio segm]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=27801#p27801"><![CDATA[
Możesz może dopisać coś do tego kodu abym mógł to ruszyć z miejsca?<br />Jeśli tak to poproszę.<br /><br />[syntax=c]<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br />/* hardware SPI */<br />#define MOSI PB5//   wejście DS rejestru przesuwnego<br />#define SCK PB7//   wejście SHCP rejestru przesuwnego<br />#define CS PB4// wejście STCP rejestru przesuwnego<br /><br /><br />void InitSpi(void);/* inicjalizacja sprzętowego SPI */<br />void SendSpi( uint8_t bajt );/* wysłanie bajtu - sprzętowe SPI */<br /><br /><br />uint8_t cnt;<br /><br />//**************************** główna funkcja programu<br />int main(void) {<br />/* inicjalizacja SPI */<br /><br />InitSpi();<br /><br /><br /><br />SendSpi( 0 );<br /><br /><br />while(1) {<br />cnt=0b01000000; //wybór liczby na wyświetlaczu<br />SendSpi( cnt );<br /><br />cnt=0b00000001;//Wybór wyświetlaczy<br />SendSpi( cnt );<br /><br /><br /><br />} <br /><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)|(1&lt;&lt;CS);<br /><br />SPCR |= (1&lt;&lt;SPE)|(1&lt;&lt;MSTR)|(1&lt;&lt;SPR1);<br />}<br /><br /><br /><br />[/syntax]<br /><br /><br /><strong><span style="color: #FF0000">Kody umieszczamy w znaczniku syntax   -- poprawiłem  --&gt; moderator user friendly  : SunRiver</span></strong><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=922">mirek1968</a> — 12 lut 2013, o 21:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PawelGaj]]></name></author>
<updated>2013-02-04T09:57:49+01:00</updated>
<published>2013-02-04T09:57:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=26792#p26792</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=26792#p26792"/>
<title type="html"><![CDATA[Re: Odp: 74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=26792#p26792"><![CDATA[
Po prostu robisz 4 zmienne i wstawiasz je zamiast np PORTA np. WYSW |= (1&lt;&lt;SEG_A). I wysyłamy przez SPI od końca. Dane do ostatniego wyświetlacza są pierwsze a dla pierwszego wyświetlacza ostatnie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=784">PawelGaj</a> — 4 lut 2013, o 09:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirek1968]]></name></author>
<updated>2013-02-04T09:43:30+01:00</updated>
<published>2013-02-04T09:43:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=26791#p26791</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=26791#p26791"/>
<title type="html"><![CDATA[74HC595 - Sterowanie wyświetlaczem 4 cyfrowym 7-mio segment]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2259&amp;p=26791#p26791"><![CDATA[
Mam pytanie dotyczące sterowaniem wyświetlacz 4 cyfrowego o wspólnej anodzie rejestrem przesuwnym typu 74HC595 który jest sterowany trzema liniami z atmegi 16.<br />W jaki sposób wyświetlić cokolwiek na LED 7-segmentowym pisząc program w c. ,jak to działa?<br /><br />Poniżej zamieszczam schemat podłączenia tych układów na mojej płytce szkoleniowej. <br /><br /><a href="http://forum.atnel.pl/_obrazki/o/922_064f2c1f7648c5284dc285aa70f752c0.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/922_064f2c1f7648c5284dc285aa70f752c0.jpg" alt="Obrazek" /></a><br /><br />Proszę o pomoc w zrozumieniu sposobu sterowania tych wyświetlaczy <br />Poniżej umieszczam program który wyświetla mi wszystkie segmenty wyświetlacza w zależności od wartości zmiennej &quot;i&quot;.<br />[syntax=c]<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /> <br />#define DS_PORT    PORTB<br />#define DS_PIN     5<br />#define ST_CP_PORT PORTB<br />#define ST_CP_PIN  4<br />#define SH_CP_PORT PORTB<br />#define SH_CP_PIN  7<br /> <br />#define DS_low()  DS_PORT&amp;=~_BV(DS_PIN)<br />#define DS_high() DS_PORT|=_BV(DS_PIN)<br />#define ST_CP_low()  ST_CP_PORT&amp;=~_BV(ST_CP_PIN)<br />#define ST_CP_high() ST_CP_PORT|=_BV(ST_CP_PIN)<br />#define SH_CP_low()  SH_CP_PORT&amp;=~_BV(SH_CP_PIN)<br />#define SH_CP_high() SH_CP_PORT|=_BV(SH_CP_PIN)<br /> <br />//Define functions<br />//===============================================<br />void ioinit(void);<br />void output_led_state(unsigned int __led_state);<br />//===============================================<br />int i;<br /> <br />int main (void)<br />{<br />   ioinit(); //Setup IO pins and defaults<br /> <br />   while(1)<br />   {<br /> <br /> <br />        for(i=0;i&lt;8;i++)<br />        {<br />         output_led_state(_BV(i));<br />         _delay_ms(250);<br />        }<br /> <br />   }<br />}<br /> <br /> <br />void ioinit (void)<br />{<br />    DDRB  = 0b10110000; <br />    PORTB = 0b00000000;<br />}<br /> <br />void output_led_state(unsigned int __led_state)<br />{<br />   SH_CP_low();<br />   ST_CP_low();<br />   for (int i=0;i&lt;16;i++)<br />   {<br />      if ((_BV(i) &amp; __led_state) == _BV(i))  //bit_is_set doesn&amp;#8217;t work on unsigned int so we do this instead<br />         DS_high();<br />      else<br />         DS_low();<br /> <br /> <br />      SH_CP_high();<br />      SH_CP_low();<br />   }<br />   ST_CP_high();<br />}<br /> <br /> <br /><br /><br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=922">mirek1968</a> — 4 lut 2013, o 09:43</p><hr />
]]></content>
</entry>
</feed>