<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=1027&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-05-21T17:52:53+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1027&amp;mode</id>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-05-21T17:52:53+01:00</updated>
<published>2012-05-21T17:52:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=6908#p6908</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=6908#p6908"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=6908#p6908"><![CDATA[
spoko, pewnie rozumiem. jakby Ci się nudziło, to wdzięczny byłbym za wskazówkę.. ale na razie ifno o tym, że się da zachęciło mnie do dalszych poszukiwań. w końcu nie ma aż tak wielu opcji, w końcu trafię <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=222">marthinek</a> — 21 maja 2012, o 17:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-05-21T17:06:49+01:00</updated>
<published>2012-05-21T17:06:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=6905#p6905</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=6905#p6905"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=6905#p6905"><![CDATA[
Mam nadzieję, że kolega uwierzy mi, że ja na razie nic a nic z tego nie pamiętam - musiałbym poczytać pewną książkę - ale na razie czasu nie mam <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> ..... ogrom pracy tuż przed premierą .... ogrom - a już za tydzień może dwa najpóźniej będzie wszystko w książce można zobaczyć w tym rozpiskę maszyny stanów z odbieraniem za pomocą przerwań.<br /><br />Po prostu łatwo się o tym mówi jak człowiek siedzi zakopany po uszy w dataszicie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... ale po 2-3 miesiącach zanik pamięci gwarantowany jak już własny program działa przynajmniej ja tak mam jeśli chodzi konkretnie o RFMy - za dużo tych kombinacji z rejestrami żeby to ot tak spamiętać<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 maja 2012, o 17:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-05-21T16:00:31+01:00</updated>
<published>2012-05-21T16:00:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=6903#p6903</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=6903#p6903"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=6903#p6903"><![CDATA[
Ok. po długiej walce udało mi się dogadać z modulikami. Przynajmniej na razie coś wysyłam i to coś odbieram, więc chyba nie jest najgorzej. Ale się zawziąłem, siadłem z tym datasmieciem, z ich (producenta) przykładowymi programami, poczytałem, porozpisywałem te rejestry i to co chcę osiągnąć, policzyłem częstotliwości, potem wypróbowałem z milion kombinacji ustawień, aż w końcu sukces.... <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br />teraz kolejny etap czyli odbiór w przerwaniu... i tego za cholerę nie mogę ogarnąć.<br /><br />Mam więc konkretne pytanie dotyczące tego czym w końcu jest wyzwalane przerwanie? stanem niskim, wysokim czy zboczem opadającym/rosnącym?<br />w datashitcie napisali szanowni producenci: &quot;receiver will generate an interrupt request for uC by pulling the nIRQ low...&quot;<br /><br />czyli zbocze opadające czy stan niski na pinie nRes?<br /><br />czy coś znowu tam pokręcone jest?<br /><br />jak się ma do przerwania instrukcja na początku programu<br />PORTD 0xFF <br /><br />na PD2 mam INT0, czy jeśli ma być ono wyzwalane stanem niskim to czy podciągnięcie do VCC tego pinu nie przeszkadza w wyłapywaniu przerwań od modułu?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=222">marthinek</a> — 21 maja 2012, o 16:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-24T21:07:33+01:00</updated>
<published>2012-04-24T21:07:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5784#p5784</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5784#p5784"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5784#p5784"><![CDATA[
Odnośnie filtrowania i RFM'ków też napisałem ci w poście wyżej - tzn o tym jak to je testowałem na kablu .<br /><br />No właśnie - też mam wrażenie jak bym był przesłuchiwany przez Brunera w Klosie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ot takie skojarzenie bo wciąż z lubością oglądam ten serial .... a ty wyciągasz że mnie wszystko po kolei <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />no ale spokojnie - wszystkiego to ja tak nie pamiętam znowu i musiałbym sam zasiąść i czytać teraz swoją książkę i przypominać sobie jak to było <br /><br />------<br /><br />no a odnośnie dataszitów to pomyśl sobie ilu ludzi narzeka na te PDFy Atmela .... chyba nie widzieli tych Hoperf'a brrrrr <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> — 24 kwi 2012, o 21:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-04-24T21:02:18+01:00</updated>
<published>2012-04-24T21:02:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5783#p5783</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5783#p5783"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5783#p5783"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Jakie mam doświadczenia z filtrowaniem zasilania ? hmm zobacz może tutaj:<br /><br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/04/mikrokontroler-prawidowe-zasilanie.html">http://mirekk36.blogspot.com/2012/04/mi ... lanie.html</a><!-- m --><br /><br />ale odnośnie podłączania modułów RFM12 a także RFM70 - to właśnie do testów w książce specjalnie podłączałem je i pokazałem na zdjęciach w książce że - wykorzystałem do tego najzwyklejszy kabelek taśmowy ok 8-10cm ..... i co? niezbyt gęsto upakowałem a wszystko działa i buczy jak ta LALA <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .....<br /></div><br /><br />nie chodziło mi o ogólne zasady, tylko o konkretnie filtrowanie RFM'ki.<br /><br />artykuł w/w jest mi oczywiście już znany, zresztą coś tam Ci na końcu skomentowałem pytając o te pary kondensatorów przy nóżkach po przeciwnych stronach uC.<br /><br />z niecierpliwością czekam na premierę książki.<br />chociaż, jak dalej pójdzie to może wyciągnę z Ciebie wszystko na forum.. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br />chyba faktycznie trzeba tego datashita od hopfera przeczytać od deski do deski a do tego między wierszami... to nie tak jak z dokumentacją Atmegi, gdzie wszystko po kolei i jasno opisane.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=222">marthinek</a> — 24 kwi 2012, o 21:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-24T20:07:10+01:00</updated>
<published>2012-04-24T20:07:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5778#p5778</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5778#p5778"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5778#p5778"><![CDATA[
Po kolei <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... rf12_setbaud(9600); - no widzisz - tego tak trudno doczytać się w tej nocie że aż strach <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... poważnie mówię a nie żebym się nabijał z ciebie - bo sam też tak miałem przed nierówną walką z tymi modułami..... Tą funkcyjką ustawiam prędkość w bodach do jakiej dostosuje się transmisja pomiędzy transcivereami. Jest o tym w data-bardziej-szicie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Hoperf - ale podejrzewam, że ciężko było ci do tej pory okiem o to zahaczyć .... spójrz sam:<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/54_99bf4f63a0e96e1068dc0d8a83cb9c28.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/54_99bf4f63a0e96e1068dc0d8a83cb9c28.jpg" alt="Obrazek" /></a><br /><br />Tak tak &quot;te obfite&quot; wskazówki ze wspomnianego forum - to urastają już do paranormalnych albo paranoicznych - jak np w którymś poście można przeczytać poradę, że &quot;elementy trzeba GĘSTO upakować&quot; żeby RFM12 dobrze działał - O! i to jest przepis - no widzisz - gęsto nie upakowałeś i dlatego ci nie działa <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... no chore<br /><br />Jakie mam doświadczenia z filtrowaniem zasilania ? hmm zobacz może tutaj:<br /><br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/04/mikrokontroler-prawidowe-zasilanie.html">http://mirekk36.blogspot.com/2012/04/mi ... lanie.html</a><!-- m --><br /><br />ale odnośnie podłączania modułów RFM12 a także RFM70 - to właśnie do testów w książce specjalnie podłączałem je i pokazałem na zdjęciach w książce że - wykorzystałem do tego najzwyklejszy kabelek taśmowy ok 8-10cm ..... i co? niezbyt gęsto upakowałem a wszystko działa i buczy jak ta LALA <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .....<br /><br />tak więc włóż te wszystkie zalecenia i porady paranormalne między książki z bajkami dla dzieci <br /><br />Owszem - filtrowanie zasilania to SUPER ważna rzecz o czym mowa w moim poradniku na blogu - ale żeby odpalić do zwykłych testów te moduły to bez przesady <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... a nawet piszę w książce że dokonać można spokojnie połączenia pomiędzy np:<br /><br />modułem 433MHz &lt;------------------ a ------------------&gt; modułem 868MHz<br /><br />ustawiając obydwa do pracy w jednym oczywiście zakresie częstotliwości albo 433MHz albo 868MHz na odpowiednim kanale oczywiście - aczkolwiek nie należy się spodziewać jakichś zasięgów - pomimo to nawet na kilka metrów potrafią gadać ze sobą<br /><br />dziwne ? - ale w 100% prawdziwe <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> — 24 kwi 2012, o 20:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-04-24T19:10:58+01:00</updated>
<published>2012-04-24T19:10:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5777#p5777</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5777#p5777"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5777#p5777"><![CDATA[
Pewnie, że z ładnie napisaną biblioteką łatwiej się ogarnąć niż z tymi dziwnymi liczbami w hexach.<br />Zdecydowanie łatwiej się wpisuje -(ustawia) parametry urzadzenia przy pomocy nawet jakichś takich dziwnych skrótów typu UCSRB, RXEN niż liczb binarnych czy hex.<br /><br />Dzięki wielkie za to info z adresem rejestru w części MSB teraz się wszystko jaśniejsze robi.. pewnie w pełni rozjaśni sprawę Twoja książka.<br /><br />tak dla ścisłości (pewnie głupio <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> )dopytam czy:<br />&quot;rf12_setbaud(9600);                                             // 19200 ustawienie prędkości - baud rate&quot;<br /><br />dotyczy prędkości komunikacji między mikroklockiem a modułem RFM?<br /><br /><br />no właśnie wspomniane tutaj forum nie obfituje w treściwe wskazówki... zresztą jakoś za nim nie przepadam, dlatego chętniej zdecydowanie przebywam Tutaj <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> mimo że baza wiedzy się dopiero tworzy.<br /><br />Widziałem w którymś z Twoich wideo poradników, że łączysz RFM70 na kablu IDE (albo czymś przypominającym taki kabel od dysku z PeCeta). Przez analogię ( <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> ) zakładam, że takie połączenie powinno pozwolić RFM12 na prawidłową pracę?<br />Tak pytam w związku z tym, że mam całość na prototypowej płytce stykowej a modulik na kabelkach ze skrętki. <br />Jakie masz doświadczenia z filtrowaniem zasilania? Cytując szczątkowe informacje z tego tasiemca z forum na &quot;e&quot; układy są czułe na &quot;czyste&quot; zasilanie.<br /><br />PS. dzięki za przykładowe prawidłowe minimalne podłączenie układu (mam nadzieję, że prawnik Cie nie zabije), rozumiem, że linią nRes i zapisem że Res jest aktywny w stanie niskim, w związku z powyższym nie przejmować.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=222">marthinek</a> — 24 kwi 2012, o 19:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-23T23:40:54+01:00</updated>
<published>2012-04-23T23:40:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5756#p5756</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5756#p5756"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5756#p5756"><![CDATA[
Przede wszystkim proszę - uproszczony schemat połączeń jak do ćwiczeń w książce to fragment obrazka więc mam nadzieję że prawnik mnie nie zabije <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><a href="http://forum.atnel.pl/_obrazki/o/54_dce63309d83961309a75a8af47f89716.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/54_dce63309d83961309a75a8af47f89716.jpg" alt="Obrazek" /></a><br /><br />Rejestry w RFM wcale nie nazywają się POR  to skrót od (Power On Reset)  a żeby było łatwiej programiście - to firma Hoperf wymyśliła iście szatański plan - nie masz tam nazw rejestrów <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> masz tylko nazwy komend połączone z adresami  - pokręcone co ? <br /><br />część bitów od lewej w tym 16-bitowym słowie to adres rejestru a pozostała część to dane przesyłane do rejestru. Wydawać by się mogło że pierwszy od lewej (starszy) bajt odpowiedzialny jest za adres a młodszy za dane - ale nie nie  hola hola tu też masz mix max <br /><br />reasumując POR oznacza wartość jaką odczytasz z tego rejestru po RESECIE czyli domyślne ustawienia, które mało mają wspólnego z tym, żeby moduł był od razu przygotowany np do działania w trybie odbioru - a po kiszkę - niech się programista męczy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />najgorsze jest jednak to, że pomimo tej mikstury adresów z rozkazami okazuje się, że żeby ustawić COŚ tam to nie wystarczy dokonać ustawień w jakimś jasnym hmmm bloku adresów/rejestrów - tak jak masz w procku AVR np rejestry do UART'a .... nie nie panie kochany - tutaj trzeba dobrać się do ustawiania różnych bitów w różnych rejestrach - więc to nie tak od razu halo <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Ale spokojnie - jest sposób żeby okiełznać ten MEGA HAOS <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i chyba teraz rozumiesz coraz lepiej dlaczego trudno to wyjaśnić w dwóch zdaniach i dlaczego nigdzie na necie tego nie znajdziesz .....<br /><br />bo jak już ktoś czasem na chybił trafił - odpali sobie jakąś transmisję nawet bez większego zrozumienia co tam jest poustawiane - to myślisz że komuś się chce kurczę usiąść i to uporządkować a tym bardziej opisać co i jak po kolei ????<br /><br />nie nie - jak już mu działa to przeważnie od razu zaczyna mówić że to proste i wystarczy zrobić tak jak on czyli:<br /><br />[syntax=c]    writeCmd(0x80E7); //EL,EF,868band,12.0pF<br />    writeCmd(0x8299); //er,!ebb,ET,ES,EX,!eb,!ew,DC (bug was here)<br />    //writeCmd(0x8239); //!er,!ebb,ET,ES,EX,!eb,!ew,DC<br />    writeCmd(0xA640); //freq select<br />    writeCmd(0xC647); //4.8kbps<br />    writeCmd(0x94A0); //VDI,FAST,134kHz,0dBm,-103dBm<br />    writeCmd(0xC2AC); //AL,!ml,DIG,DQD4<br />    writeCmd(0xCA81); //FIFO8,SYNC,!ff,DR (FIFO level = 8)<br />    writeCmd(0xCED4); //SYNC=2DD4;<br />    writeCmd(0xC483); //@PWR,NO RSTRIC,!st,!fi,OE,EN<br />    writeCmd(0x9850); //!mp,90kHz,MAX OUT<br />    writeCmd(0xCC17); //!OB1,!OB0, LPX,!ddy,DDIT,BW0<br />    writeCmd(0xE000); //NOT USE<br />    writeCmd(0xC800); //NOT USE<br />    writeCmd(0xC040); //1.66MHz,2.2V[/syntax]<br /><br />no i wracamy do punktu wyjścia <br /><br />eeeeeh a mi się zachciało powalczyć z tym żeby to uporządkować i opisać - a i tak pewnie znajdą się osoby, które mnie za to skrytykują albo wytkną błędy - że coś źle tłumaczę - ale takie już jest życie - wystarczy spojrzeć na ostatnie wpisy na moim blogu do kursu eagle - już tam komuś przeszkadza to i tamto w kursie .....<br /><br />Ja nie twierdzę że mój opis i sposób przekazu będzie super jasny i przejrzysty dla każdego - ale kurczę - ja nie zaczynam i nie kończę tylko na opisie - ja daję i pokazuję jak zbudować od podstaw bibliotekę i to super fajną do obsługi tych modułów oraz przykładowy program i TO DZIAŁA kurczę  .... <br /><br />zresztą w książce tylko na temat RFM12 będzie ze 20-30 stron !!! - i to będą UWAGA! tylko te najważniejsze informacje tak żeby w podstawowy sposób uruchomić te moduły - a pozostałe bajery jak włączanie trybów oszczędzania energii itp - to już każdy będzie mógł sobie sam dopisać .... tyle że mam nadzieję że po takim opisie - to każdy też już inaczej będzie patrzył i rozumiał te hierogliwfy w PDF'ach firmy Hoperf<br /><br />.... na zakończenie dodam, że miałem dużą nadzieję, że już z dużo nowszymi modułami RFM70 na 2,4GHz to już będzie inaczej, że będzie miodzio i w PDF'ach i w oprogramowaniu ..... hyhyhy no to spróbuj pan znaleźć w internecie działające przykłady w różnych prostych projektach tych transcieverów ..... mam nadzieję, że moja książka to diametralnie zmieni..... Bo rzeczywiście na &quot;pewnym&quot; forum można znaleźć na ich temat dużo informacji ale wszystkie sprowadzają się do jednego:<br /><br />&quot;eee te moduliki RFM70 są proste do opanowania jak drut - poczytaj PDF'a to ci wyjdzie&quot; i koniec porady <br /><br />spokojnie - zmienimy to raz na zawsze <br /><br />tylko proszę o wsparcie i informowanie w szerszych kręgach znajomych o moich wypocinach czyli książkach o ile uważacie je Panowie za przydatne oczywiście<br /><br /><br />--------------<br /><br />aaaaa niech będzie - zobacz jak będzie wyglądała inicjalizacja modułu RFM12 w kodach z użyciem bibliotek z książki <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... koniec z tym wpisywaniem setek jakichś dziwnych tajemniczych liczb HEX, które nic nikomu nie mówią - zobacz na to:<br /><br /><br />[syntax=c]//! inicjalizacja modułu RFM12 ***********<br />rf12_init();// inicjalizacja soft SPI i przerwań jeśli są używane<br />rf12_setrange( ZAKRES_868MHZ );// ustawiamy zakres częstotliwości: 433MHz, 868MHz lub 915MHz<br />rf12_setfreq( RF12FREQ433(438.00) );// ustalenie częstotliwości nadawania/odbioru (może być np: 432.74)<br />rf12_setbaud(9600);// 19200 ustawienie prędkości - baud rate<br />rf12_setbandwidth(RxBW200, LNA_6, RSSI_79);// ustawienia odbiornika<br />rf12_setpower(PWRdB_0, TxBW120);// 1mW moc wyjściowa nadajnika, parametry FSK<br />rf12_disablewakeuptimer();// wyłączamy Wakeup Timer<br />rf12_trans(0x0000);// odczyt statusu - start modułu rfm12<br />//rf12_trans(0xCC77);// jeśli posiadasz RFM12B (wesja SMD) odblokuj tę linię<br />//! inicjalizacja modułu RFM12 ***********[/syntax]<br /><br />powiedz sam - czy nie wygląda to nawet bez dodatkowej wiedzy z książki bardziej przejrzyście - nawet tak na pierwszy rzut oka ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />gdzie - żeby nie było niejasności samo: <strong><span style="color: #0040FF">rf12_init(); </span></strong>  to tylko ustawienie kierunków portów/pinów dla SPI czy przerwań a nie tam wysyłanie tajnych liczb HEX do modułu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 kwi 2012, o 23:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-04-23T22:14:17+01:00</updated>
<published>2012-04-23T22:14:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5755#p5755</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5755#p5755"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5755#p5755"><![CDATA[
chciałbym to skumać, ale żeby widzieć jakieś efekty to chciałem działającego gotowca, żeby w ogóle &quot;czuć&quot; w czym mieszam i jaki wpływ na transmisje mają te zmiany.<br /><br />wiem, że piszesz o tym w drugiej części książki.. i coraz bardziej mnie martwisz tym, że to takie hop siup nie jest...<br />kiedy ta premiera? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> można prosić o wysyłkę prosto z drukarni? taką jeszcze ciepłą.. może być przed składem i łamaniem.. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br />PS. dlatego piszesz książkę, żeby to wyjaśnić. Nie podejrzewam Cię o złośliwość i tak kawał wiedzy rozdajesz powszechnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br />PS2, a co z pinem nRES ? czy zapis że, active low z datashita nie oznacza przypadkiem, że jak ten pin nie jest nigdzie podłączony to jest na nim stan niski czyli, że RFM'ka się non stop resetuje?<br /><br />PS3. a i jeszcze jedno odnośnie rejestrów... w Atmedze jak coś ustawiam to jest to jakoś logicznie poustawiane, mianowicie, przykładowo rejestr: UCSRB  i jak chcę ustawić pożądaną konfigurację, wpisuję w określone miejsca &quot;1&quot; tak jak tu:<br />UCSRB = (1&lt;&lt;RXEN)|(1&lt;&lt;TXEN); <br />(wiem, też że mogę wpisać całą wartość rejestru w syst binarnym lub hex)<br /><br />natomiast w przypadku RFM'ki wszystkie rejestry nazywają się &quot;POR&quot;, jak tu to teraz działa, że wysyłając kolejne liczby w hex ustawia się to co chcemy?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=222">marthinek</a> — 23 kwi 2012, o 22:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-23T22:03:05+01:00</updated>
<published>2012-04-23T22:03:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5754#p5754</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5754#p5754"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5754#p5754"><![CDATA[
<div class="quotetitle">marthinek napisał(a):</div><div class="quotecontent"><br />czyli sugerujesz lecieć po datasheecie i ustawiać ręcznie?<br /></div><br /><br />datasheety z firmy Hoperf bardziej przypominają dataszity albo samą końcówkę tego słowa po angielsku <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> .... no ale to jedyne wyjście jak się chce samemu zrobić i zrozumieć to od początku - nie ma wyjścia - trzeba nad tym posiedzieć i rozszyfrować te hieroglify mega kocie <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br /><div class="quotetitle">marthinek napisał(a):</div><div class="quotecontent"><br />a możesz powiedzieć jakie takie podstawowe parametry transmisji powinny być ustawione, żeby coś się zaczęło dziać?<br /></div><br /><br />No widzisz - jakbym mógł to zrobić w 2-3 zdaniach to uwierz mi nie rozpisywałbym się tyle w książce. Wiem wiem, każdemu się tak wydaje, że aaaa tam zaraz - kręcę - nie chcę podpowiedzieć - czy coś takiego. Albo żeby podać wprost kawałek kodu i już .... ale nie tędy droga - jak tak nie umiem - i jak mam się rozpisać to wolę w książce bo przy okazji więcej osób z tego skorzysta niż tylko w jednym poście na forum <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> sam wiesz jak to jest.<br /><br />Generalnie musisz zwrócić baczną uwagę że czym innym jest wybór pasma częstotliwości za pomocą tych kocich rejestrów a czymś całkiem innym jest wybór konkretnej częstotliwości odpowiedzialnej za kanał na którym mają się połączyć dwa transcievery. Ale jakby to było wszystko to byłbym i ja szczęśliwy - a tymczasem panie kochany - jeszcze tymi durnymi bitami porozrzucanymi po wszystkich rejestrach jak grochem po polu .... trzeba przestawiać odbiór/nadawanie i kilka innych rzeczy - których teraz tak z marszu po prostu najzwyczajniej w świecie nie pamiętam - bo dużo o tym jest i pisałem <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> i tworzyłem kod - z którym walczyłem najdłużej w całej książce. Toż przecież przez te kocie RFM12 i RFM70 nastąpiło NAJWIĘKSZE OPÓŹNIENIE jeśli chodzi o czas wydania książki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 kwi 2012, o 22:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-04-23T21:53:01+01:00</updated>
<published>2012-04-23T21:53:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5753#p5753</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5753#p5753"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5753#p5753"><![CDATA[
czyli sugerujesz lecieć po datasheecie i ustawiać ręcznie?<br /><br />a możesz powiedzieć jakie takie podstawowe parametry transmisji powinny być ustawione, żeby coś się zaczęło dziać?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=222">marthinek</a> — 23 kwi 2012, o 21:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-23T21:49:31+01:00</updated>
<published>2012-04-23T21:49:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5752#p5752</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5752#p5752"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5752#p5752"><![CDATA[
<div class="quotetitle">marthinek napisał(a):</div><div class="quotecontent"><br />usiłowałem to rozkminić, ustawić swoje parametry konfigiracji, z wykorzystaniem programu:<br /><br />rfm command calculator:<br /><br />(dostępny tutaj: <!-- m --><a class="postlink" href="http://www.kewlit.com/RFM12B/">http://www.kewlit.com/RFM12B/</a><!-- m -->)<br />lub<br />wersja online:<br /><!-- m --><a class="postlink" href="http://tools.jeelabs.org/rfm12b">http://tools.jeelabs.org/rfm12b</a><!-- m --><br /><br />ale... bezskutecznie ;-(<br /></div><br /><br />No ja też tak miałem - bezskutecznie <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> na podstawie tych kocich kalkulatorów <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=54">mirekk36</a> — 23 kwi 2012, o 21:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-04-23T21:41:04+01:00</updated>
<published>2012-04-23T21:41:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5751#p5751</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5751#p5751"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5751#p5751"><![CDATA[
usiłowałem to rozkminić, ustawić swoje parametry konfigiracji, z wykorzystaniem programu:<br /><br />rfm command calculator:<br /><br />(dostępny tutaj: <!-- m --><a class="postlink" href="http://www.kewlit.com/RFM12B/">http://www.kewlit.com/RFM12B/</a><!-- m -->)<br />lub<br />wersja online:<br /><!-- m --><a class="postlink" href="http://tools.jeelabs.org/rfm12b">http://tools.jeelabs.org/rfm12b</a><!-- m --><br /><br />ale... bezskutecznie ;-(<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=222">marthinek</a> — 23 kwi 2012, o 21:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-23T21:36:20+01:00</updated>
<published>2012-04-23T21:36:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5750#p5750</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5750#p5750"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5750#p5750"><![CDATA[
Skąd pomysł że RFM12 miałby być jakimś Masterem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... nie ma takiej możliwości - to są zawsze układy Slave na magistrali SPI i tego się nigdzie nie konfiguruje bo nie ma czego konfigurować.<br /><br />A najczęstszym powodem braku działania komunikacji bywa taki powielany ze strony na stronę sposób inicjalizacji, który ani w ząb zwykle nie pozwala kopiującym go zrozumieć o co tam chodzi tak na prawdę <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />[syntax=c]    writeCmd(0x80E7); //EL,EF,868band,12.0pF<br />    writeCmd(0x8299); //er,!ebb,ET,ES,EX,!eb,!ew,DC (bug was here)<br />    //writeCmd(0x8239); //!er,!ebb,ET,ES,EX,!eb,!ew,DC<br />    writeCmd(0xA640); //freq select<br />    writeCmd(0xC647); //4.8kbps<br />    writeCmd(0x94A0); //VDI,FAST,134kHz,0dBm,-103dBm<br />    writeCmd(0xC2AC); //AL,!ml,DIG,DQD4<br />    writeCmd(0xCA81); //FIFO8,SYNC,!ff,DR (FIFO level = 8)<br />    writeCmd(0xCED4); //SYNC=2DD4;<br />    writeCmd(0xC483); //@PWR,NO RSTRIC,!st,!fi,OE,EN<br />    writeCmd(0x9850); //!mp,90kHz,MAX OUT<br />    writeCmd(0xCC17); //!OB1,!OB0, LPX,!ddy,DDIT,BW0<br />    writeCmd(0xE000); //NOT USE<br />    writeCmd(0xC800); //NOT USE<br />    writeCmd(0xC040); //1.66MHz,2.2V[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 kwi 2012, o 21:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-04-23T21:29:58+01:00</updated>
<published>2012-04-23T21:29:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5749#p5749</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5749#p5749"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5749#p5749"><![CDATA[
z tego tez korzystałem, zresztą to co wstawiłem, jest praktycznie tym samym.<br /><br />powalczę jeszcze z tymi różnymi konfiguracjami, teraz najbardziej mnie zastanawia pin nRes z modułu RFM12, oraz konfiguracja Master/Slave.<br />IMHO, mikroklocek powinien być Masterem względem RFM w obu przypadkach (nadajnika i odbiornika), czy w przypadku odbiornika uC powinien sie przestawiać na Slave?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=222">marthinek</a> — 23 kwi 2012, o 21:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sirk77]]></name></author>
<updated>2012-04-23T21:21:00+01:00</updated>
<published>2012-04-23T21:21:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5748#p5748</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5748#p5748"/>
<title type="html"><![CDATA[Re: RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5748#p5748"><![CDATA[
Ja kiedyś korzystałem z tego kodu i wszystko działało,<br /><a href="http://loee.jottit.com/rfm12b_and_avr_-_quick_start"  class="postlink">http://loee.jottit.com/rfm12b_and_avr_-_quick_start</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=187">sirk77</a> — 23 kwi 2012, o 21:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marthinek]]></name></author>
<updated>2012-04-23T21:43:47+01:00</updated>
<published>2012-04-23T20:53:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5746#p5746</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5746#p5746"/>
<title type="html"><![CDATA[RFM12 podstawowa komunikacja 868MHz ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1027&amp;p=5746#p5746"><![CDATA[
Walczę od paru dni z tymi modulikami... i skubane nie chcą mi się ze sobą skomunikować.<br /><br />Podłączenie na płytkach stykowych, (uC Atmega 8, zew kwarc 11.0592 MHz, komunikacja przez UART osobnym modułem opartym o kość FT232RL) wg schematu:<br /><br />(rezystor 10k do VCC na pinie SS tudzież nSel  )<br /><br />nSel - SS - PB.2<br />SCK - SCK - PB.5<br />SDO - MISO - PB.4<br />SDI - MOSI -PB.3<br />IRQ - INT0 PD.2<br /><br />FSK/DATA - przez 10k do VCC<br /><br /><br />PS. na schemacie jest filtrowanie przy RFM 100n, w rzeczywistości mam tam 10uF elektrolit.<br /><br />Program, znaleziony na elektrodzie: (<!-- m --><a class="postlink" href="http://www.elektroda.pl/rtvforum/viewto" >http://www.elektroda.pl/rtvforum/viewto</a><!-- m --> ... 99#5279699), podobno działa, zamieszczony na końcu posta:<br /><br /><br />Walczyłem najpierw sam, żeby okiełznać komunikację, ale po paru nieudanych próbach chcę w ogóle sprawdzić jak to śmiga i jak wygląda komunikacja na działającym przykładzie, a potem będę mógł mieszać i dodawać/ zmieniać na swoje.<br />przede wszystkim na sprzętowe SPI a nie programowe tak jak w przykładzie.<br /><br />Mam parę pytań:<br />Co z linią nRes z modułu RFM12? <br />wg schematu podłączenia z dokumentacji nóżka wisi w powietrzu, natomiast w datasheecie napisane: &quot;Reset output (active low)&quot;<br />Podłączenie jej do jakiegoś Pinu uC i podanie &quot;1&quot; nie rozwiązuje problemu.<br /><br />Jak to jest z ustaleniem Master/Slave?<br />mikrorocek konfiguruję jako master, ale układu RFM12 nie można skonfigurować jako slave, czy coś przeoczyłem w w dokumentacji? czy one po prostu same wiedza że są zawsze na &quot;gorszej pozycji&quot;?<br /><br />Wiem, że pewnie wszystko jest ładnie opisane przez Mirka w najnowszej książce.. ale premiera dopiero za tydzień.. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> potem oczekiwanie na wysyłkę.. może uda się to ugryźć wcześniej? Podany niżej program niestety też nie działa. Diody migają w układzie nadajnika, więc tak jakby nadawał, dioda przy odbiorze też miga, wtedy kiedy teoretycznie przyjmuje pakiety, ale niestety wysyłane dane nie pokrywają się z odbiorem ;-(<br /><br />NADAJNIK:<br />[syntax=c]/*<br /> * avatar_nad.c<br /> *<br /> *  Program forumowicza Avatar z Elektrody<br />*  http://www.elektroda.pl/rtvforum/viewto ... b&amp;start=60<br /> *<br /> *  NADAJNIK dla Atmega8.<br /> *<br /> */<br /><br /><br />#include &lt;avr\io.h&gt;<br />#include &lt;util\delay.h&gt;<br /><br />//#define F_CPU 11059200<br />#define SCK 5   // SPI clock<br />#define SDO 4   // SPI Data output (RFM12B side)<br />#define SDI 3   // SPI Data input (RFM12B side)<br />#define CS  2   // SPI SS (chip select)<br />#define NIRQ 2  // (PORTD)<br /><br />#define HI(x) PORTB |= (1&lt;&lt;(x))<br />#define LO(x) PORTB &amp;= ~(1&lt;&lt;(x))<br />#define WAIT_NIRQ_LOW() while(PIND&amp;(1&lt;&lt;NIRQ))<br /><br />#define LED 1                                      //Led podłączony  Anodą do uC<br />#define LED_ON() PORTB |= (1&lt;&lt;LED)<br />#define LED_OFF() PORTB &amp;= ~(1&lt;&lt;LED)<br /><br />void portInit()<br />  {<br />    HI(CS);<br />    HI(SDI);<br />    LO(SCK);<br />    DDRB = (1&lt;&lt;CS) | (1&lt;&lt;SDI) | (1&lt;&lt;SCK);<br />    DDRB = (1&lt;&lt;LED);<br />  }<br /><br />unsigned int writeCmd(unsigned int cmd)<br />  {<br />    unsigned char i;<br />    unsigned int recv;<br />    recv = 0;<br />    LO(SCK);<br />    LO(CS);<br />    for(i=0; i&lt;16; i++)<br />      {<br />        if(cmd&amp;0x8000) HI(SDI); else LO(SDI);<br />        HI(SCK);<br />        recv&lt;&lt;=1;<br />        if( PINB&amp;(1&lt;&lt;SDO) )<br />          {<br />        recv|=0x0001;<br />          }<br />        LO(SCK);<br />        cmd&lt;&lt;=1;<br />      }<br />    HI(CS);<br />    return recv;<br />  }<br /><br />void rfInit()<br />  {<br />_delay_us(500);<br /><br />    writeCmd(0x80E7); //EL,EF,868band,12.0pF<br />    writeCmd(0x8299); //er,!ebb,ET,ES,EX,!eb,!ew,DC (bug was here)<br />    //writeCmd(0x8239); //!er,!ebb,ET,ES,EX,!eb,!ew,DC<br />    writeCmd(0xA640); //freq select<br />    writeCmd(0xC647); //4.8kbps<br />    writeCmd(0x94A0); //VDI,FAST,134kHz,0dBm,-103dBm<br />    writeCmd(0xC2AC); //AL,!ml,DIG,DQD4<br />    writeCmd(0xCA81); //FIFO8,SYNC,!ff,DR (FIFO level = 8)<br />    writeCmd(0xCED4); //SYNC=2DD4;<br />    writeCmd(0xC483); //@PWR,NO RSTRIC,!st,!fi,OE,EN<br />    writeCmd(0x9850); //!mp,90kHz,MAX OUT<br />    writeCmd(0xCC17); //!OB1,!OB0, LPX,!ddy,DDIT,BW0<br />    writeCmd(0xE000); //NOT USE<br />    writeCmd(0xC800); //NOT USE<br />    writeCmd(0xC040); //1.66MHz,2.2V<br />  }<br /><br />void rfSend(unsigned char data)<br />  {<br />    //while(WAIT_NIRQ_LOW());<br />    WAIT_NIRQ_LOW();<br />    writeCmd(0xB800 + data);<br />  }<br /><br /><br />int main()<br />  {<br /><br />    volatile unsigned int i,j;<br />    asm(&quot;cli&quot;);<br />    for(i=0;i&lt;1000;i++)for(j=0;j&lt;123;j++);<br />    portInit();<br />    /* rsInit(BAUDRATE); */<br />    rfInit();<br />    while(1)<br />    {<br />     LED_ON();<br />     // _delay_ms(2000);<br />     // LED_OFF();<br />      writeCmd(0x0000);<br />      rfSend(0xAA); // PREAMBLE<br />      rfSend(0xAA);<br />      rfSend(0xAA);<br />      rfSend(0x2D); // SYNC<br />      rfSend(0xD4);<br />      //for(i=0; i&lt;16; i++)<br />     //   {<br />      //LED_ON();<br />         // rfSend(0x30+i);<br />          rfSend(0x41);<br />          //LED_OFF();<br />      //  }<br />      rfSend(0xAA); // DUMMY BYTES<br />      rfSend(0xAA);<br />      rfSend(0xAA);<br />      LED_OFF();<br />      for(i=0; i&lt;10000; i++)<br />        for(j=0; j&lt;123; j++);<br />    }<br />  }<br />}[/syntax]<br /><br /><br /><br />Odbiornik:<br />[syntax=c]/*<br /> * avatar_odb.c<br /> *<br /> *  Program forumowicza Avatar z Elektrody<br />*  http://www.elektroda.pl/rtvforum/viewto ... b&amp;start=60<br /> *<br /> *  NADAJNIK dla Atmega8.<br /> *<br /> */<br /><br /><br /><br /><br /><br /><br /><br />// Rx odbior 9600 bodow 2 bity stopu<br />#include &lt;avr\io.h&gt;<br />#include &lt;util\delay.h&gt;<br /><br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />//#define F_CPU 8000000<br />#define SCK 5   // SPI clock<br />#define SDO 4   // SPI Data output (RFM12B side)<br />#define SDI 3   // SPI Data input (RFM12B side)<br />#define CS  2   // SPI SS (chip select)<br />#define NIRQ 2  // (PORTD)<br /><br />#define HI(x) PORTB |= (1&lt;&lt;(x))<br />#define LO(x) PORTB &amp;= ~(1&lt;&lt;(x))<br />#define WAIT_NIRQ_LOW() while(PIND&amp;(1&lt;&lt;NIRQ))<br /><br />#define LED 1                               //Led podłączony  Anodą do uC<br />#define LED_OFF() PORTB &amp;= ~(1&lt;&lt;LED)<br />#define LED_ON() PORTB |= (1&lt;&lt;LED)<br /><br />#define BAUDRATE 25 //<br /><br /><br /><br />// Ustawienie portu 9600 b  2 bity stopu<br />void rsInit(unsigned char baud) {<br />   UBRRH = 0;<br />   UBRRL = 51;<br />   UCSRB = (1&lt;&lt;RXEN)|(1&lt;&lt;TXEN);<br />   UCSRC = (1&lt;&lt;URSEL)|(1&lt;&lt;USBS)|(3&lt;&lt;UCSZ0);<br />}<br />// Wysylanie na port UART odebranych danych z RFM12<br />void rsSend(unsigned char data) {<br />    while ( !( UCSRA &amp; (1&lt;&lt;UDRE)) );<br />   UDR = data;<br />}<br /><br />unsigned char rsRecv() {<br />  while( !(UCSRA &amp; (1&lt;&lt;RXC)));<br />  return UDR;<br />}<br /><br />void portInit() {<br />  HI(CS);<br />  HI(SDI);<br />  LO(SCK);<br />  DDRB = (1&lt;&lt;CS) | (1&lt;&lt;SDI) | (1&lt;&lt;SCK);<br /> // DDRB |= LED;<br />  DDRB = (1&lt;&lt;LED);<br />}<br /><br />unsigned int writeCmd(unsigned int cmd) {<br />LED_ON();<br />unsigned char i;<br />  unsigned int recv;<br />  recv = 0;<br />  LO(SCK);<br />  LO(CS);<br />  for(i=0; i&lt;16; i++) {<br />    if(cmd&amp;0x8000) {<br />      HI(SDI);<br />    }<br />    else {<br />      LO(SDI);<br />    }<br />    HI(SCK);<br />    recv&lt;&lt;=1;<br />    if( PINB&amp;(1&lt;&lt;SDO) ) {<br />      recv|=0x0001;<br />    }<br />    LO(SCK);<br />    cmd&lt;&lt;=1;<br />  }<br />  HI(CS);<br />  LED_OFF();<br />  return recv;<br />}<br /><br />void FIFOReset() {<br />  writeCmd(0xCA81);<br />  writeCmd(0xCA83);<br />}<br />/*<br />void waitForData() {<br />  unsigned int status;<br />  while(1) {<br />    status = writeCmd(0x0000);<br />    if ( (status&amp;0x8000) ) {<br />      return;<br />    }<br />  }<br />}<br />*/<br />void rfInit() {<br /><br />_delay_ms(500);<br /><br />  writeCmd(0x80E7); //EL,EF,868band,12.0pF<br />  writeCmd(0x8299); //er,!ebb,ET,ES,EX,!eb,!ew,DC<br />  writeCmd(0xA640); //freq select<br />  writeCmd(0xC647); //4.8kbps<br />  writeCmd(0x94A0); //VDI,FAST,134kHz,0dBm,-103dBm<br />  writeCmd(0xC2AC); //AL,!ml,DIG,DQD4<br />  writeCmd(0xCA81); //FIFO8,SYNC,!ff,DR<br />  writeCmd(0xCED4); //SYNC=2DD4;<br />  writeCmd(0xC483); //@PWR,NO RSTRIC,!st,!fi,OE,EN<br />  writeCmd(0x9850); //!mp,90kHz,MAX OUT<br />  writeCmd(0xCC17); //!OB1,!OB0, LPX,!ddy,DDIT,BW0<br />  writeCmd(0xE000); //NOT USE<br />  writeCmd(0xC800); //NOT USE<br />  writeCmd(0xC040); //1.66MHz,2.2V<br />}<br /><br />/*<br />unsigned char rfRecv() {<br />  unsigned int data;<br />  writeCmd(0x0000);<br />  data = writeCmd(0xB000);<br />  return (data&amp;0x00FF);<br />}<br />*/<br /><br />unsigned char rfRecv() {<br />  unsigned int data;<br />  while(1) {<br />    data = writeCmd(0x0000);<br />    if ( (data&amp;0x8000) ) {<br />    rsSend(65);<br />      data = writeCmd(0xB000);<br />      rsSend(data);<br />      return (data&amp;0x00FF);<br />    }<br />  }<br />}<br /><br />int main(void) {<br />//DDRB |= LED_PIN;<br />  unsigned char data, i;<br />  portInit();<br /><br />  rfInit();<br />  //<br />  //LED_ON();<br />  rsInit(BAUDRATE);          // &gt;&gt; debag<br />  FIFOReset();<br /><br />  //LED_ON();<br />    //_delay_ms(2000);<br />  //LED_OFF();<br />  _delay_ms(2000);<br />  while(1) {<br />      //waitForData();<br />      for (i=0; i&lt;16; i++) {<br />     // LED_ON();<br />        data = rfRecv();<br />        //LED_OFF();<br />      rsSend(data);      // &gt;&gt;debag<br />      //LED_ON();<br />     }<br />      FIFOReset();<br /> // LED_OFF();<br />  }<br />  return 0;<br />}[/syntax]<br /><br /><br /><span style="color: #FF0000"><strong>Umieszczaj kod w znacznikach syntax  ---&gt;  klawisz CODE -- Gryzie nie naciskać <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />   ---&gt; Tym razem poprawiłem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  SunRiver</strong></span><br /><br />// To był mam nadzieję ostatni raz... jakoś tak naturalniej się wciska Code... niż syntax <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=222">marthinek</a> — 23 kwi 2012, o 20:53</p><hr />
]]></content>
</entry>
</feed>