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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-11-24T22:05:08+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=9341&amp;mode</id>
<entry>
<author><name><![CDATA[jerzyk31]]></name></author>
<updated>2014-11-24T22:05:08+01:00</updated>
<published>2014-11-24T22:05:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105829#p105829</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105829#p105829"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105829#p105829"><![CDATA[
<div class="quotetitle">Antystatyczny napisał(a):</div><div class="quotecontent"><br />a spróbuj tak:  send_spi_buf(wynik, sizeof(wynik));<br /></div><br /><br />Ja nie jestem guru w C ale jak ja miałem problem z prawidłowym obliczaniem długości stringa to pouczano ( <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ) mnie, żeby w C obliczać długość w taki sposób:<br /><br />[syntax=c]int len = ( sizeof(wynik) / sizeof(int));[/syntax]<br /><br />może tu jest pies pogrzebany<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3173">jerzyk31</a> — 24 lis 2014, o 22:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-11-24T17:41:41+01:00</updated>
<published>2014-11-24T17:41:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105767#p105767</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105767#p105767"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105767#p105767"><![CDATA[
<div class="quotetitle">mati7828 napisał(a):</div><div class="quotecontent"><br />Przeczytałem tą książkę od deski do deski ale musiałem niestety zwrócić ja do biblioteki<br /></div><br />A to masz takie zdolności - że zapamiętujesz książki w całości po ich jednorazowym albo nawet dwu-razowym przeczytaniu ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> nieźle nieźle ... no ale jednak &quot;parę&quot; rzeczy co najmniej umknęło co? Spróbuj wypożyczyć jeszcze raz i jak mówię - poświęć trochę czasu na rozdział o funkcjach i o typach danych bo to na razie u ciebie jak widać mocno leży i ciężko będzie ci dalej iść bez tej wiedzy<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 24 lis 2014, o 17:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-11-24T17:37:37+01:00</updated>
<published>2014-11-24T17:37:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105766#p105766</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105766#p105766"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105766#p105766"><![CDATA[
Przeczytałem tą książkę od deski do deski ale musiałem niestety zwrócić ja do biblioteki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 24 lis 2014, o 17:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-11-24T15:31:04+01:00</updated>
<published>2014-11-24T15:31:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105741#p105741</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105741#p105741"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105741#p105741"><![CDATA[
<div class="quotetitle">mati7828 napisał(a):</div><div class="quotecontent"><br />Niestety nie mam pojęcia jak się za to zabrać <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /></div><br />Dlatego warto jak sam widzisz zacząć jednak od PODSTAW, czyli np: przeczytać to:<br /><br /><!-- m --><a class="postlink" href="http://atnel.pl/mikrokontrolery-avr-jezyk-c.html" >http://atnel.pl/mikrokontrolery-avr-jezyk-c.html</a><!-- m --><br /><br />gwarantuję ci, że po przeczytaniu np rozdziałów o funkcjach przestaniesz mieć problemy z zabieraniem się za &quot;TO&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 24 lis 2014, o 15:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-11-24T15:19:37+01:00</updated>
<published>2014-11-24T15:19:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105739#p105739</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105739#p105739"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105739#p105739"><![CDATA[
Niestety nie mam pojęcia jak się za to zabrać <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 24 lis 2014, o 15:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xor]]></name></author>
<updated>2014-11-23T23:23:52+01:00</updated>
<published>2014-11-23T23:23:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105682#p105682</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105682#p105682"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105682#p105682"><![CDATA[
<div class="quotetitle">mati7828 napisał(a):</div><div class="quotecontent"><br />uint8_t na unsigned char<br /></div><br />uint8_t to to samo co unsigned char więc nic żeś nie zmienił. <br />Ty masz dostosować typ bufora (czyli tablicy wynik) do typu pierwszego parametru funkcji send_spi_buf.<br /><br />Temczasem komunikat prawi o całkiem innym błędzie:<br /><br /><div class="quotetitle">mati7828 napisał(a):</div><div class="quotecontent"><br />send_spi_buf(wynik); // taki błąd i podkrelsenie na czerwono: too few arguments to function 'send_spi_buf'<br /></div><br />Rozumiesz co tam jest napisane? Nie? <a href="https://translate.google.com/#en/pl/too%20few%20arguments%20to%20function%20%27send_spi_buf%27"  class="postlink">Jednak się postaraj:</a> <br />Wywołanie  funkcji jest:<br /><br />[syntax=c]void send_spi_buf(unsigned char *buf, unsigned char len)[/syntax] <br />to ile trzeba argumentów, a ile ty dajesz?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1774">xor</a> — 23 lis 2014, o 23:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-11-23T21:50:57+01:00</updated>
<published>2014-11-23T21:50:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105664#p105664</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105664#p105664"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105664#p105664"><![CDATA[
[syntax=c]#include&lt;stdlib.h&gt;<br />#include&lt;avr/io.h&gt;<br />#include&lt;util/delay.h&gt;<br />#include&lt;string.h&gt;<br /><br />void Inicjacja_spi()<br />{<br />    DDRB = ( 1 &lt;&lt; PB5 ) | ( 1 &lt;&lt; PB3 ) | ( 1 &lt;&lt; PB2 );              //MOSI, SCK, SS' jako wyjścia<br />    SPCR = ( 1 &lt;&lt; SPE ) | ( 1 &lt;&lt; MSTR ) | ( 1 &lt;&lt; SPR1 ) | ( 1 &lt;&lt; SPR0 );   //Włączamy SPI,<br />}<br /><br />void send_bajt(uint8_t bajt)<br />{<br />    SPDR = bajt;                    //Wysyłamy zawartość zmiennej bajt<br />    while( ! ( SPSR &amp; ( 1 &lt;&lt; SPIF )));        //Oczekujemy na zakończenie transmisji ( do ustawienia SPIF ) przez sprzęt<br />}<br /><br />void send_spi_buf(unsigned char *buf, unsigned char len)<br />{<br />int i=0;<br />for (i=0; i&lt;len; i++)<br />{<br />uint8_t b = *buf++;<br />send_bajt(b);<br />}<br />}<br /><br />void Wyslij_string (char *dana)<br />{<br />int dlugosc; //zmienna określająca długość napisu<br />int k=0; //zmienna licznikowa<br /><br />dlugosc=strlen(dana); //pobieranie długości napisu<br /><br />for(k=0;k&lt;dlugosc;k++)<br />{<br />send_bajt(dana&#91;k&#93;); //wyślij pojedynczy znak<br />}<br />}<br /><br />int main()<br />{<br />char wynik&#91;&#93;=&quot; &quot;;<br />int a = 1000;<br />    Inicjacja_spi();<br /><br />    while(1)<br />    {<br />    itoa(a,wynik,10);<br />    send_spi_buf(wynik); // taki błąd i podkrelsenie na czerwono: too few arguments to function 'send_spi_buf' <br />    _delay_ms(1000);<br />    a++;<br /><br />    }<br /><br />    return 0;<br />}[/syntax]<br /><br />Zmieniłem uint8_t na unsigned char i nadal w linijce send_spi_buf(wynik); // taki błąd i podkrelsenie na czerwono: too few arguments to function 'send_spi_buf'<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 23 lis 2014, o 21:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xor]]></name></author>
<updated>2014-11-22T12:57:16+01:00</updated>
<published>2014-11-22T12:57:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105460#p105460</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105460#p105460"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105460#p105460"><![CDATA[
Bufor:<br /><div class="quotetitle">mati7828 napisał(a):</div><div class="quotecontent"><br />char wynik[]=&quot;                              &quot;;<br /></div><br /><br />funkcja<br /><div class="quotetitle">mati7828 napisał(a):</div><div class="quotecontent"><br />void send_spi_buf(uint8_t *buf, uint8_t len)<br /></div><br /><br />uint8_t to alias na unsigned char.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1774">xor</a> — 22 lis 2014, o 12:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-11-22T12:39:30+01:00</updated>
<published>2014-11-22T12:39:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105456#p105456</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105456#p105456"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105456#p105456"><![CDATA[
Teraz podkreśla na żółto i wyswietla się pointer targets in passing argument 1 of 'send_spi_buf' differ in signedness<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 22 lis 2014, o 12:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-11-22T08:36:34+01:00</updated>
<published>2014-11-22T08:36:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105446#p105446</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105446#p105446"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105446#p105446"><![CDATA[
Po wykonaniu powyższych instrukcji nadal jest coś nie tak. Dodałem bibliotekę &lt;stdlib.h&gt;.<br />Oto mój kod:<br />[syntax=c]int main()<br />{<br />char wynik&#91;&#93;=&quot;                              &quot;;<br />int a = 1000;<br />    Inicjacja_spi();<br /><br />    while(1)<br />    {<br />    itoa(a,wynik,10);<br />    send_spi_buf(wynik);<br />    _delay_ms(1000);<br />    a++;<br /><br />    }[/syntax]<br /><br />Linijka send_spi_buf(wynik); jest podświetlana na czerwono i wyświetla komunikat: too few arguments to function 'send_spi_buf'<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 22 lis 2014, o 08:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-11-21T12:28:06+01:00</updated>
<published>2014-11-21T12:28:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105290#p105290</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105290#p105290"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105290#p105290"><![CDATA[
To w jaki sposób przesłać wartość większa od 255 która zajmuje więcej jak jeden bajt?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 21 lis 2014, o 12:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-11-21T12:22:11+01:00</updated>
<published>2014-11-21T12:22:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105288#p105288</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105288#p105288"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105288#p105288"><![CDATA[
Witam ponownie!<br />Pojawił się kolejny problem. Chcę wysłać kilka bajtów po spi a kompilator podreśla mi linijke send_spi_buf(a); i wyświetla się komunikat passing argument 1 of 'send_spi_buf' makes pointer from integer without a cast<br /><br />Oto kod:<br />[syntax=c]#include&lt;stdlib.h&gt;<br />#include&lt;avr/io.h&gt;<br />#include&lt;util/delay.h&gt;<br />#include&lt;string.h&gt;<br /><br />void Inicjacja_spi()<br />{<br />    DDRB = ( 1 &lt;&lt; PB5 ) | ( 1 &lt;&lt; PB3 ) | ( 1 &lt;&lt; PB2 );              //MOSI, SCK, SS' jako wyjścia<br />    SPCR = ( 1 &lt;&lt; SPE ) | ( 1 &lt;&lt; MSTR ) | ( 1 &lt;&lt; SPR1 ) | ( 1 &lt;&lt; SPR0 );   //Włączamy SPI,<br />}<br /><br />void send_bajt(uint8_t bajt)<br />{<br />    SPDR = bajt;                    //Wysyłamy zawartość zmiennej bajt<br />    while( ! ( SPSR &amp; ( 1 &lt;&lt; SPIF )));        //Oczekujemy na zakończenie transmisji ( do ustawienia SPIF ) przez sprzęt<br />}<br /><br />void send_spi_buf(uint8_t *buf, uint8_t len)<br />{<br />int i=0;<br />for (i=0; i&lt;len; i++)<br />{<br />uint8_t b = *buf++;<br />send_bajt(b);<br />}<br />}<br /><br />void Wyslij_string (char *dana)<br />{<br />int dlugosc; //zmienna określająca długość napisu<br />int k=0; //zmienna licznikowa<br /><br />dlugosc=strlen(dana); //pobieranie długości napisu<br /><br />for(k=0;k&lt;dlugosc;k++)<br />{<br />send_bajt(dana&#91;k&#93;); //wyślij pojedynczy znak<br />}<br />}<br /><br />int main()<br />{<br />//char str1&#91;&#93;=&quot;Jest git&quot;;<br />int a = 1000;<br />    Inicjacja_spi();<br /><br />    while(1)<br />    {<br /><br />    send_spi_buf(a);<br />    a++;<br /><br />    }<br /><br />    return 0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 21 lis 2014, o 12:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2014-11-20T16:57:48+01:00</updated>
<published>2014-11-20T16:57:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105135#p105135</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105135#p105135"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105135#p105135"><![CDATA[
No i tak się mają wyświetlać.<br />Przecież to terminal.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 20 lis 2014, o 16:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-11-20T15:51:32+01:00</updated>
<published>2014-11-20T15:51:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105129#p105129</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105129#p105129"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105129#p105129"><![CDATA[
Zauważyłem ze bajt jest wysyłany przez rs232 ale wyswietlaja się na terminalu jako znaki ASCII. Jak to zmienić??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 20 lis 2014, o 15:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2014-11-20T09:03:34+01:00</updated>
<published>2014-11-20T09:03:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105072#p105072</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105072#p105072"/>
<title type="html"><![CDATA[Re: Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105072#p105072"><![CDATA[
Mati a może by tak trzymać się ustalonych zasad wstawiania kodu przes syntax c?<br />Proszę wyedytuj posta i popraw.<br />Będzie się zdecydowanie lepiej czytało.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 20 lis 2014, o 09:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2014-11-20T09:42:08+01:00</updated>
<published>2014-11-20T07:44:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105068#p105068</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105068#p105068"/>
<title type="html"><![CDATA[Przesyłanie danych SPI i USART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9341&amp;p=105068#p105068"><![CDATA[
Witam! <br />Ostatnimi czasy męczę się z takim problemem. Mianowicie chce przesłać bajt danych z Mastera do Slave'a i następnie żeby ten Slave wyświetlił otrzymaną wartość na terminalu. Przesyłanie danych po spi działa dobrze tylko problem polega na tym ze jak chce później wyświetlić to na terminalu to wyskakuja zupełnie inne dane. Proszę o pomoc.<br />[syntax=c]//KOD SLAVE<br /><br />#include&lt;avr/io.h&gt;<br />#include &quot;rs232.h&quot;<br />#include &lt;util/delay.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />void Inicjacja_spi()<br />{<br />    DDRB = ( 1 &lt;&lt; PB4 );        //MISO jako wyjście<br />    SPCR = ( 1 &lt;&lt; SPE );            //Włączamy SPI<br />}<br /><br />char Odbieraj_spi()<br />{                            //Czekamy na koniec transmisji danych<br />    while ( ! bit_is_set( SPSR, SPIF ) );        // ( aż do ustawienie flagi SPIF    )<br />    return SPDR;                    //Zwracamy to co dostaliśmy do SPDR<br />}                            //Czyli to co wysłał Master<br /><br />int main()<br />{<br />DDRC = 255;<br />    PORTC = 0;<br />    Inicjacja_spi();<br />    usart_init(MY_UBRR);<br />    while(1)<br />    {<br />        char bajt = Odbieraj_spi();<br />        PORTC = bajt;            //Wysyłamy to co dostaliśmy od Master'a na<br />        _delay_ms(10);<br />        nadajznak(bajt);<br />        nadajstring(&quot;\n&quot;);<br /><br />    }<br />        return 0;<br />}[/syntax]<br />[syntax=c]KOD MASTER<br /><br /><br />#include&lt;avr/io.h&gt;<br />#include&lt;util/delay.h&gt;<br /><br /><br />void Inicjacja_spi()<br />{<br />    DDRB = ( 1 &lt;&lt; PB5 ) | ( 1 &lt;&lt; PB3 ) | ( 1 &lt;&lt; PB2 );              //MOSI, SCK, SS' jako wyjścia<br />    SPCR = ( 1 &lt;&lt; SPE ) | ( 1 &lt;&lt; MSTR ) | ( 1 &lt;&lt; SPR1 ) | ( 1 &lt;&lt; SPR0 );   //Włączamy SPI,<br />}                                                                               //układ Master, najmniejsza częstotliwość SCK fosc / 128<br /><br /><br />void Wyslij_spi(char bajt)<br />{<br />    SPDR = bajt;                    //Wysyłamy zawartość zmiennej bajt<br />    while( ! bit_is_set( SPSR, SPIF ) );        //Oczekujemy na zakończenie transmisji ( do ustawienia SPIF ) przez sprzęt<br />}<br /><br />int main()<br />{<br />    char bajt = 0;<br />    Inicjacja_spi();<br />    while(1)                //Pętla nieskończona<br />    {<br />        Wyslij_spi(bajt);<br />        _delay_ms(1000);<br />        bajt++;                //Zwiększamy wartość w bajt o 1<br />    }<br />    return 0;<br />}[/syntax]<br />Dodam tylko że gdy wysyłam dane z atmegi przez rs232 to wszytko działa poprawnie jest tylko problem żeby otrzymaną wartość przez spi wysłać przez rs232.<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 20 lis 2014, o 07:44</p><hr />
]]></content>
</entry>
</feed>