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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-09-13T11:38:48+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=8494&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-09-13T11:38:48+01:00</updated>
<published>2014-09-13T11:38:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95319#p95319</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95319#p95319"/>
<title type="html"><![CDATA[Re: Portowanie biblioteki z Arduino C++ do AVR C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95319#p95319"><![CDATA[
<div class="quotetitle">Atlantis napisał(a):</div><div class="quotecontent"><br />Swoją drogą jakich nowości można jeszcze spodziewać się na tej płycie, jeśli można zapytać?<br /></div><br /><br />Poprawione biblioteki tzn przeportowane z RFM70 do RFM73<br /><br />i być może jeszcze kilka innych drobiazgów<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 wrz 2014, o 11:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atlantis]]></name></author>
<updated>2014-09-13T11:22:06+01:00</updated>
<published>2014-09-13T11:22:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95318#p95318</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95318#p95318"/>
<title type="html"><![CDATA[Re: Portowanie biblioteki z Arduino C++ do AVR C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95318#p95318"><![CDATA[
W takim razie będę czekał z niecierpliwością, chociaż w międzyczasie oczywiście spróbuję coś zrobić z tą biblioteką.<br />Swoją drogą jakich nowości można jeszcze spodziewać się na tej płycie, jeśli można zapytać?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2174">Atlantis</a> — 13 wrz 2014, o 11:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-09-13T08:07:47+01:00</updated>
<published>2014-09-13T08:07:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95302#p95302</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95302#p95302"/>
<title type="html"><![CDATA[Re: Portowanie biblioteki z Arduino C++ do AVR C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95302#p95302"><![CDATA[
<div class="quotetitle">Atlantis napisał(a):</div><div class="quotecontent"><br />Tak swoją drogą może istnieje szansa, że ktoś już równolegle pracuje nad taką biblioteką do RFM69?<br /></div><br /><br />Ja już ją mam na ukończeniu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... Pisząc ją od totalnego ZERA, bo oczywiście przeglądając te wszystkie kody z netu jak zwykle nie pasowało mi w nich praktycznie wszystko ... Podejście typowe dla hoperf'aów <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> - czysta masakra ... Takie same problemy miałem pisząc kiedyś swoje LIBS'y do RFM12 czy RFM70 ... no ale jak już wyszły - to teraz korzystanie z tych modułów to poezja. A powiem, że ten RFM69 też jest wart grzechu .... nie dość że można nim jeśli chodzi o HARDWARE zastąpić (bo pinologicznie się zgadza) starego RFM12 to jeszcze można zrobić nawet tak że RFM69 będzie sobie swobodnie mógł &quot;gadać&quot; z tymi RFM12 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... nie wspomnę już o szaleńczym zasięgu modułów RFM69 i to wcale nie tych WH, ja testuję wersję CW ... i rzeczywiście w porównaniu do i tak dobrego pod tym względem RFM12 - nowszy brat RFM69CW - śmiga jak ta lala <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />ale niestety ukażą się te moje wypociny dopiero w nowym poprawionym wydaniu GreenBooka - być może jeszcze przed końcem tego roku. Z tym że czytelnicy posiadający już starsze wydanie książki będą mogli skorzystać z takiego samego przywileju jak poprzednio przy Bluebooku, że będą mogli nabyć samą płytę DVD od nowego Greenbooka . Więc tą drogą też będzie można mieć tego LIB'sa. <br /><br />Ale sądzę, że do tego czasu to pewnie sam już temat roztrzaskasz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 wrz 2014, o 08:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atlantis]]></name></author>
<updated>2014-09-13T07:56:20+01:00</updated>
<published>2014-09-13T07:56:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95300#p95300</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95300#p95300"/>
<title type="html"><![CDATA[Re: Portowanie biblioteki z Arduino C++ do AVR C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95300#p95300"><![CDATA[
Dziękuję za wszystkie porady. Teraz muszę przemyśleć która droga będzie najbardziej odpowiednia. Mam dwa, a właściwie trzy wyjścia (przy czym trzeciego nie biorę pod uwagę).<br /><br />1) Przeportowanie biblioteki z C++ do C. Może być dosyć trudne, poza tym istnieje spora szansa, że po drodze coś popsuję w kodzie ze względu na niewystarczające zrozumienie specyfiki C++. Jeśli się uda, będę miał gotową bibliotekę do zastosowania w przyszłych projektach (a na tym też mi zależy).<br />2) Przeniesienie projektu z C do C++, wykorzystanie biblioteki z Arduino, zmodyfikowanej pod kątem funkcji niskopoziomowych. Chyba łatwiejsze rozwiązanie, jeśli faktycznie mogę w projekcie C++ wykorzystywać istniejące biblioteki C.<br />3) Wgranie do urządzenia bootloadera Arduino i przepisanie wszystkiego od nowa, z wykorzystaniem tego środowiska. Rozwiązanie najbardziej żmudne (istniejący kod nie jest do końca kompatybilny z Arduino i trzeba by go pisać od nowa) ale najmniej skomplikowane (nie wymagające żadnych nowych informacji).<br /><br />Tak swoją drogą może istnieje szansa, że ktoś już równolegle pracuje nad taką biblioteką do RFM69?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2174">Atlantis</a> — 13 wrz 2014, o 07:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[atmel]]></name></author>
<updated>2014-09-12T21:09:51+01:00</updated>
<published>2014-09-12T21:09:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95271#p95271</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95271#p95271"/>
<title type="html"><![CDATA[Re: Portowanie biblioteki z Arduino C++ do AVR C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95271#p95271"><![CDATA[
Odnośnie Twoich pytań Atlantis to oczywiście chodziło mi o nowy projekt w całości napisany w C++ (niekoniecznie pod platformę Arduino).<br />Tak jak napisał wyżej Kol. mokrowski w C++ jest ta &quot;potęga&quot;, że można w nim pisać tak jak w zwykłym C, a na dodatek daje o wiele większe możliwości. Jednak rozwiązanie konstrukcji C++ w C jest nie do końca możliwe o czym świadczy założony przez Ciebie temat.<br /><br />Ze swojej strony zdecydowanie bardziej polecam C++ nawet dla początkujących, bo przecież to taki &quot;C na sterydach&quot;.<br />Jak to ktoś kiedyś powiedział (albo i nie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ): &quot;Najpiękniejsze w obiektowości C++ jest to, że nie trzeba wcale z niej korzystać&quot;.<br /><br />Wywołania funckji z parametramy domyślnymi mogą wyglądać następująco:<br />[syntax=c]funkcja();   // zmienna1 = 20, zmienna2 = 50, status = true<br />funkcja(5);   // zmienna1 = 5, zmienna2 = 50, status = true<br />funkcja(20, 8);   // zmienna1 = 20, zmienna2 = 8, status = true<br />funkcja(1, 2, false);   // zmienna1 = 1, zmienna2 = 2, status = false[/syntax]<br /><br />Usunąć tej zmiennej (static RFM69* selfPointer) raczej nie możesz. Piszę raczej, bo to wszystko zależy od kodu i zastosowania tej zmiennej w nim. Jednak bez powodu taka zmienna została tam utworzona...<br />Ogólnie to nie jest to jakaś specyficzna konstrukcja C++, ot po prostu jakaś zmienna statyczna (w tym wypadku istniejąca jedna jej instancja dla całej klasy, a nie dla poszczególnych obiektów).<br /><br /><div class="quotetitle">mokrowski napisał(a):</div><div class="quotecontent"><br />Niestety zmartwię Cię.. To co napisałeś to rozwiązanie dla widoczności private. Widoczności protected w C nie da się (rozsądnie) symulować bo dotyczy ona osiągania metody lub atrybutu przez klasy dziedziczące z tej która posiada protected. <br />W zależności od kontekstu kodu można osiągnąć w C coś zbliżonego, ale osobiście nie znam konstrukcji w której mogę ,,podać 1 linijkę&quot; i będzie w C protected.<br /></div><br />Oczywiście że tak jednak nie zmartwiłeś mnie tym faktem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />. Doskonale zdaję sobie sprawę ze znaczenia &quot;protected&quot;, jednak było to moje uproszczenie dla potrzeb prostej i jasnej odpowiedzi. Skoro brak dziedziczenia w C to ciężko w ogóle mówić o rozróżnianiu &quot;protected&quot; od &quot;private&quot;, czyż nie tak?<br /><br /><div class="quotetitle">mokrowski napisał(a):</div><div class="quotecontent"><br />Typ bool jest już od dawna w standardzie C99 (czyli od 1999 roku) i wyraźnie jest wspierany w standardach zalecających kodowanie w C dla systemów automotive czyli de-facto dla całej branży embedded.<br />Dobrze że zaznaczyłeś że to przypuszczenia bo niestety zespół rozwijający standard przyjął odmienną interpretację. Zapis bool ma określać typ. Implementację pozostawia twórcom kompilatorów. Z racji zwiększenia czytelności kodu, pomysł stosowania jak najbardziej chwalebny.<br />Atlantis nie definiuj własnych makr tylko zerknij do pliku stdbool.h i go po prostu włącz #include. Te makra właśnie tak są już zdefiniowane w gcc <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /><br /></div><br />Dobrze wiedzieć, jednak w takim razie nie jest on typem wbudowanym dla wszystkich kompilatorów.<br /><br />Ogólnie makra i #define to nie są najlepsze konstrukcje i przez wielu określane jako &quot;zło&quot;. Dlatego możliwość ich użycia podałem jako czwarty, ostatni możliwy wariant. Zdecydowanie lepiej użyć wbudowanej biblioteki &lt;stdbool.h&gt;.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1183">atmel</a> — 12 wrz 2014, o 21:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atlantis]]></name></author>
<updated>2014-09-12T19:55:59+01:00</updated>
<published>2014-09-12T19:55:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95264#p95264</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95264#p95264"/>
<title type="html"><![CDATA[Re: Portowanie biblioteki z Arduino C++ do AVR C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95264#p95264"><![CDATA[
<div class="quotetitle">atmel napisał(a):</div><div class="quotecontent"><br />1. Niekoniecznie pozbyć, zawsze można pisać w dalszym ciągu w C++, ale już na innej platformie. Nie będzie wtedy potrzeby zmiany czegokolwiek <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />. Zarówno Atmel Studio, jak i Eclipse wspiera ten język, więc jeśli Ci to odpowiada to jak najbardziej można używać tego języka.<br /></div><br /><br />Chwileczkę, nie wiem czy dobrze zrozumiałem. Mogę &quot;mieszać&quot; obydwa języki? To znaczy &quot;wziąć&quot; już gotowy projekt pisany od początku w C i dodać do niego bibliotekę C++, podmieniając jedynie elementy charakterystyczne dla Arduino na ich odpowiedniki AVR (np. Wiring na niskopoziomową obsługę pinów I/O)?<br />Czy też miałeś na myśli to, że mogę utworzyć projekt na nowo, dodać bibliotekę napisaną w C++ i przepisać resztę tak, żeby do niej pasowała?<br />Bo w tym drugim przypadku to na dobrą sprawę mógłbym wgrać do urządzenia bootloader Arduino i napisać wszystko od nowa w tym środowisku. Niby jest to jakieś rozwiązanie, ale nie wiem, czy przeportowanie biblioteki nie będzie mniej uciążliwe. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />2. &quot;Czysty&quot; język C nie daje możliwości używania argumentów domyślnych funkcji, jednak w &quot;avr-gcc&quot; taką funkcjonalność wspiera. Można też odrzucić parametry domyślne, skazując się w ten sposób na konieczność ich podawania.<br /></div><br /><br />Czyli te elementy mogę zostawić tak, jak są? Będą działały również w przypadku programu napisanego w C?<br />Jak właściwie wygląda wywołanie takiej funkcji, żeby uwzględniona została wartość domyślna?<br /><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />4. Ciężko jednoznacznie powiedzieć, bo zależy od jego umiejscowienia w kodzie... Jeśli znajduje się w klasie to jest to pojedyncze pole (zmienna), która przechowuje wskaźnik do pewnego obiektu klasy &quot;RFM69&quot;.<br /></div><br /><br />Tak, znajduje się w klasie. Czy w związku z tym mogę ten element po prostu usunąć, jako specyficzny dla C++, czy też będę musiał go w jakiś sposób &quot;zaemulować&quot;?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2174">Atlantis</a> — 12 wrz 2014, o 19:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[atmel]]></name></author>
<updated>2014-09-12T18:26:47+01:00</updated>
<published>2014-09-12T18:26:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95256#p95256</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95256#p95256"/>
<title type="html"><![CDATA[Re: Portowanie biblioteki z Arduino C++ do AVR C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95256#p95256"><![CDATA[
1. Niekoniecznie pozbyć, zawsze można pisać w dalszym ciągu w C++, ale już na innej platformie. Nie będzie wtedy potrzeby zmiany czegokolwiek <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />. Zarówno Atmel Studio, jak i Eclipse wspiera ten język, więc jeśli Ci to odpowiada to jak najbardziej można używać tego języka.<br />Funkcje w klasie nazywają się metodami i oczywiście można je nazywać dowolnie. Kwalifikator &quot;public&quot; może być traktowany jako nazwy eksportowane na zewnątrz biblioteki tzn. deklaracje zawarte w pliku *.h. Natomiast &quot;protected&quot; to takie, które nie wymagają, a co więcej nie mogą być udostępniane na zewnątrz tzn. z modyfikatorem &quot;static&quot; w pliku *.c.<br /><br />2. &quot;Czysty&quot; język C nie daje możliwości używania argumentów domyślnych funkcji, jednak w &quot;avr-gcc&quot; taką funkcjonalność wspiera. Można też odrzucić parametry domyślne, skazując się w ten sposób na konieczność ich podawania.<br />Ciężko ją w jakiś sposób &quot;emulować&quot;... Należałoby przeciążyć funkcję (dla większej ilości argumentów domyślnych dość żmudne), a następnie na początku ciała jednej z nich domniemać (przypisać) wartość domyślną (w tym wypadku &quot;true&quot;).<br /><br />3. Podobnie jak w pkt. 2. z tym że ten konstruktor służy inicjalizacji niezbędnych pól obiektu. Można zastąpić funkcją typu &quot;RFM69_Init&quot; pomijając przypisania argumentów domyślnych.<br /><br />4. Ciężko jednoznacznie powiedzieć, bo zależy od jego umiejscowienia w kodzie... Jeśli znajduje się w klasie to jest to pojedyncze pole (zmienna), która przechowuje wskaźnik do pewnego obiektu klasy &quot;RFM69&quot;.<br /><br />5. Jak najbardziej jest to możliwe.<br /><br />6. Raczej tak.<br /><br />7. Nie ma ich w standardzie, a dlaczego to dokładnie sam nie wiem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />, jednak wydaje mi się że przechowywanie jednego bitu informacji i tak wymagało użycia komórek 8-mio bitowych stąd też taki typ pominięto, ale zaznaczam jest to tylko moje przypuszczenie dlaczego takiego typu nie ma.<br />Można dołączyć bibliotekę &lt;stdbool.h&gt;, pozamieniać wszystkie wystąpienia typu bool na uint8_t, zdefiniować nowy typ (typedef uint8_t bool) lub użyć preprocesora (#define bool uint8_t, #define true 1, #define false 0).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1183">atmel</a> — 12 wrz 2014, o 18:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atlantis]]></name></author>
<updated>2014-09-12T16:22:16+01:00</updated>
<published>2014-09-12T16:22:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95238#p95238</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95238#p95238"/>
<title type="html"><![CDATA[Portowanie biblioteki z Arduino C++ do AVR C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8494&amp;p=95238#p95238"><![CDATA[
Do dokończenia najnowszego projektu jest mi potrzebna biblioteka do obsługi modułu RFM69 (w moim przypadku RFM69HCW).<br />Niestety najwyraźniej jak dotąd nie powstała wersja pod AVR-y (albo chociażby pod &quot;czyste&quot; C, z niskopoziomowymi funkcjami do samodzielnego uzupełnienia). Na GitHubie znalazłem jedynie bibliotekę dla Arduino, napisaną w C++. Trzeba będzie ją przerobić. Kod można znaleźć <a href="https://github.com/LowPowerLab/RFM69"  class="postlink">TUTAJ</a><br />W C++ nigdy nie pisałem niczego bardziej złożonego, ale jestem w stanie zrozumieć sens kodu, poza tym miałem też do czynienia z Arduino, więc myślę, że odróżnię większość poleceń typowych dla środowiska wiring.<br /><br />Mam jednak kilka pytań, co do kilku kwestii chciałem się też upewnić, zanim stracę czas na wprowadzanie zmian, które potem okażą się zupełnie niepotrzebne.<br /><br />1) Jak rozumiem, na samym początku powinienem pozbyć się klasy RFM69 i wszystkie zawarte w niej funkcje i uczynić najzwyklejszymi funkcjami języka C, nazywając je np. wedle schematu RFM69_nazwa(). Tylko jak przy okazji tego procesu potraktować funkcje i zmienne o statusie &quot;public&quot; i &quot;protected&quot;? Jakie są ich odpowiedniki w C?<br /><br />2) Widzę, że niektóre z funkcji mają argumenty już na starcie zainicjowane jakąś wartością, np.<br /><br />[syntax=c]funkcja (int zmienna1 = 20, byte zmienna2 = 50, bool status=true) {<br /><br />{[/syntax]<br /><br />W przypadku C nigdy nie spotkałem się z taką konstrukcją. Czyżby była to właściwość języka C++? Jeśli tak, to w jaki sposób potraktować ją podczas konwersji do C?<br /><br />3) Defnicja klasy RFM69 w pliku nagłówkowym RFM69.h zawiera następujący fragment (sekcja public):<br /><br />[syntax=c]RFM69(byte slaveSelectPin=RF69_SPI_CS, byte interruptPin=RF69_IRQ_PIN, bool isRFM69HW=false, byte interruptNum=RF69_IRQ_NUM) {<br />      _slaveSelectPin = slaveSelectPin;<br />      _interruptPin = interruptPin;<br />      _interruptNum = interruptNum;<br />      _mode = RF69_MODE_STANDBY;<br />      _promiscuousMode = false;<br />      _powerLevel = 31;<br />      _isRFM69HW = isRFM69HW;<br />    }[/syntax]<br /><br />Wygląda jak funkcja, ale jest umieszczona w dość nietypowym miejscu jak na funkcję. Czemu to służy i czym to zastąpić w C?<br /><br />4) Do czego służy wskaźnik static RFM69* selfPointer?<br /><br />5) Czy w przypadku C również dopuszczalne jest umieszczenie wśród argumentów funkcji wskaźnika na void, do którego potem podstawia się bufor dowolnego typu? Czy może raczej powinienem się twardo trzymać jednego typu danych, np. uint8_t albo char?<br /><br />6) W obsługujących transmisję widzę instrukcje odpowiadające za zapisywanie i odtwarzanie konfiguracji SPI (zmienne _SPCR i SPSR). Rozumiem, że nie mając na magistrali żadnego innego urządzenia mogę sobie darować tę część?<br /><br />7) Dlaczego właściwie w czystym C pod AVR-ami praktycznie nie stosuje się zmiennych bool? Jest to związane z jakąś ważną przyczyną? Powinienem pozamieniać je na uint8_t, czy mogę spokojnie dołączyć odpowiedni plik nagłówkowy i zostawić kod w obecnej postaci.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2174">Atlantis</a> — 12 wrz 2014, o 16:22</p><hr />
]]></content>
</entry>
</feed>