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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-10-02T11:25:44+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=18&amp;t=16340&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-10-02T11:25:44+01:00</updated>
<published>2016-10-02T11:25:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170179#p170179</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170179#p170179"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170179#p170179"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Postaram się, choć nie mogę zagwarantować, że się uda<br /></div><br /><img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> no ja mam podobnie - więc razem się starajmy pilnować <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><br /><br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Nie wiem, czy przeczytałeś szerszy cytat z wypowiedzi profesora (moim zdaniem ciekawy) na temat tego &quot;styku mniemalnego&quot;<br /></div><br />tak tak <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... Ja pamiętam niegdysiejsze wykłady mniemanologii stosowanej w TV <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ... i charakterystyczny zwrot na koniec:<br /><br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />I to by było na tyle.<br /></div><br /><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> — 2 paź 2016, o 11:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-10-02T10:47:11+01:00</updated>
<published>2016-10-02T10:47:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170173#p170173</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170173#p170173"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170173#p170173"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent">No tak, tylko że to zależy od kolejności inkludowania (jak widać nie zawsze ta kolejność jest prawidłowa u początkujących). Jak się zainkluduje np. io.h na początku pliku nagłówkowego zamiast w pliku .c to nie będzie tego problemu<br /></div>Myślałem, że ty po prostu tak wprost i od razu dopuszczasz do tego, żeby dodawać inkludy w *.h</div>To raczej było stwierdzenie faktu, a nie porada, no ale może faktycznie, jak tak się teraz dokładniej przyjrzę temu, co napisałem, to chyba miałeś prawo tak pomyśleć. Czasami jednak to niełatwe zadanie, &quot;aby język giętki powiedział wszystko, co pomyśli głowa&quot;.<br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />nie mam zamiaru komuś robić zarzutów czy pouczać ... I proszę tak podchodź też do moich wypowiedzi ... gdy się czasem spotykamy w niektórych wątkach na tym polu ok ?<br /></div>Postaram się, choć nie mogę zagwarantować, że się uda <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Nie wiem, czy przeczytałeś szerszy cytat z wypowiedzi profesora (moim zdaniem ciekawy) na temat tego &quot;styku mniemalnego&quot; (podałem link, żeby nie zaśmiecać forum). Pytam o to, ponieważ zastanawiam się, czy ta moja drażliwość nie wynika ze zbyt dużej różnicy między moim (zbyt wysokim) mniemaniem o sobie, a mniemaniem innych o mnie. Wprawdzie mniemam, że jestem dość skromy i krytyczny wobec siebie (może czasami za bardzo), ale to może być tylko moje mniemanie. Wprawdzie teoretycznie ten &quot;styk mniemalny&quot; może być motorem postępu, jednak myślę, że przy zbyt dużej różnicy mniemań może też być destrukcyjny. Być może będę musiał popracować, żeby tę różnicę nieco zmniejszyć (z mojej strony).<br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />uwierz mi ja się nadal i wciąż tylko uczę języka C, a przez skórę czuję - że ty zdaje się poruszasz się w nim o wiele lepiej niż ja<br /></div><br />Masz rację, zdaje Ci się <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Ja też cały czas się uczę języka C, ale wiesz jak to jest, im więcej się uczę, tym jeszcze więcej nie umiem. Temat jest obszerny, są różne standardy, rozszerzenia, inne są techniki pisania na systemy wbudowane (zależne od platformy sprzętowej), inne na PC. Zastanawia mnie ilu ludzi na świecie mogłoby powiedzieć, że wie o języku C wszystko i nie musi się już uczyć.<br /><br />Poza tym oprócz języka C są też inne języki, które chciałoby się poznać, jest wiele innych ciekawych zagadnień z dziedziny elektroniki (i nie tylko)... a czasu tak mało....<br /><br /><div class="quotetitle">delma199 napisał(a):</div><div class="quotecontent"><br />To co chciałem się dowiedziałem, ale gdyby ktoś chciał jeszcze coś dodać to z niecierpliwością czekam.<br /></div>Rozumiem, że problem został rozwiązany?<br />Sprecyzuj może, co chciałbyś, żeby dodać. Może masz jeszcze jakieś pytania?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 2 paź 2016, o 10:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[delma199]]></name></author>
<updated>2016-10-01T23:50:41+01:00</updated>
<published>2016-10-01T23:50:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170152#p170152</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170152#p170152"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170152#p170152"><![CDATA[
Jako autor tematu dziękuję wszystkim za wzięcie udziału w dyskusji. To co chciałem się dowiedziałem, ale gdyby ktoś chciał jeszcze coś dodać to z niecierpliwością czekam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1839">delma199</a> — 1 paź 2016, o 23:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-10-01T23:22:44+01:00</updated>
<published>2016-10-01T23:22:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170147#p170147</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170147#p170147"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170147#p170147"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Myślę, że niepotrzebne te nerwy  Skoro napisałeś, że &quot;nie najlepszym rozwiązaniem będzie podpowiedź żeby człowiek inkludował znowu avr/io.h w pliku nagłówkowym&quot;, to moją reakcją (chyba naturalną) było zasygnalizowanie, że nie zgadzam się z tą opinią, bo to nie była stricte odpowiedź, a raczej wstęp do odpowiedzi. Moje stwierdzenie &quot;kolega mnie ubiegł&quot; miało oznaczać tylko tyle, że nie zdążyłem jej udzielić do końca (przez co Twoja ocena bazowała na niepełnych danych), a nie o to, że mam do Ciebie jakieś pretensje. Nie wiem, skąd w ogóle taki pomysł Może czas na jakiś urlop, żeby się trochę odstresować<br /></div><br />Ja widzę, że my już tak któryś raz - ale może kiedyś dojdziemy do ładu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... Po PIERWSZE - wcale się nie denerwuję tylko szkoda mi się zrobiło i przykro, że jakoś hmmm może źle odebrałeś moje słowa, albo że niby zasugerowałem, że coś źle piszesz itp itd ... a KOMPLETNIE nie miałem tego na myśli ... i nawet gdy kolejny raz starałem się to napisać - to ty znowu, że ja się denerwuję i że czas się odstresować. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Jeszcze raz mówię zero nerwów tylko ciężko w suchym tekście widzę czasem się porozumieć co do intencji ... <br /><br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Proponuję jednak do niektórych moich wypowiedzi podchodzić z pewnym dystansem i przymrużeniem oka.<br /></div><br />Postaram się ... ale jak mówię mi też czasem to nie wychodzi więc przepraszam.<br /><br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Spróbuję może też napisać coś na temat zagnieżdżania plików nagłówkowych,<br /></div><br />Bardzo fajny opis ... <br /><br />Natomiast ja po tej twojej wypowiedzi, jeszcze raz ją zacytuję:<br /><br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />No tak, tylko że to zależy od kolejności inkludowania (jak widać nie zawsze ta kolejność jest prawidłowa u początkujących). Jak się zainkluduje np. io.h na początku pliku nagłówkowego zamiast w pliku .c to nie będzie tego problemu<br /></div><br />Myślałem, że ty po prostu tak wprost i od razu dopuszczasz do tego, żeby dodawać inkludy w *.h zamiast naprawić kolejność  i to mi się gryzło - ale cała moja odpowiedź nie miała na celu nie wiem &quot;zjechania ciebie&quot; czy wykazania że kompletnie źle podpowiadasz czy coś .... <br /><br />Dla mnie większy priorytet ma naprowadzenie na to żeby poprawnie inkludować czyli najpierw pliki systemowe &lt;&gt; a później własne &quot;&quot; wtedy zawsze uniknie się niechcący tego typu problemów. Pisałem też delikatnie - że &quot;tak mi się wydaje&quot; ... wdając się jednocześnie w delikatną polemikę z tobą - bo jeśli uważasz, że jest inaczej to ja wręcz chętnie posłucham kontrargumentów ... uwierz mi ja się nadal i wciąż tylko uczę języka C, a przez skórę czuję - że ty zdaje się poruszasz się w nim o wiele lepiej niż ja .... Dlatego czasem z takiej polemiki/dyskusji sam się czegoś douczę/dowiem.... A zawsze gdy czuję przez skórę, że ktoś zna dużo lepiej ode mnie C (mnóstwo jest takich osób) <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... to nie mam zamiaru komuś robić zarzutów czy pouczać ... I proszę tak podchodź też do moich wypowiedzi ... gdy się czasem spotykamy w niektórych wątkach na tym polu ok ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Myślę - że DUŻO lepiej by się dyskutowało właśnie gdzieś na żywo <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> a jeszcze przy jakimś soczku jabłkowym to już w ogóle ! ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 1 paź 2016, o 23:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2016-10-01T23:02:10+01:00</updated>
<published>2016-10-01T23:02:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170141#p170141</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170141#p170141"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170141#p170141"><![CDATA[
To się powinno znaleźć w poradnikach <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />W jednym poście wytłumaczyłeś zasady includowania w sposób odpowiedni dla początkujących, zwłaszcza tych którzy nie mieli wcześniej żadnej styczności z programowaniem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 1 paź 2016, o 23:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-10-01T21:05:21+01:00</updated>
<published>2016-10-01T21:05:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170139#p170139</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170139#p170139"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170139#p170139"><![CDATA[
Kolego <strong><span style="color: #008040">Mirku</span></strong>.<br /><br />Myślę, że niepotrzebne te nerwy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Skoro napisałeś, że <em>&quot;nie najlepszym rozwiązaniem będzie podpowiedź żeby człowiek inkludował znowu avr/io.h w pliku nagłówkowym&quot;</em>, to moją reakcją (chyba naturalną) było zasygnalizowanie, że nie zgadzam się z tą opinią, bo to nie była stricte odpowiedź, a raczej wstęp do odpowiedzi. Moje stwierdzenie <em>&quot;kolega mnie ubiegł&quot;</em> miało oznaczać tylko tyle, że nie zdążyłem jej udzielić do końca (przez co Twoja ocena bazowała na niepełnych danych), a nie o to, że mam do Ciebie jakieś pretensje. Nie wiem, skąd w ogóle taki pomysł <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Może czas na jakiś urlop, żeby się trochę odstresować <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Niemniej jednak może nie do końca jestem zawsze taki poważny, na jakiego wyglądam. Proponuję jednak do niektórych moich wypowiedzi podchodzić z pewnym dystansem i przymrużeniem oka. Po stwierdzeniu, że nie odważę się już odpowiadać, nie wstawiłem wprawdzie tego średnika i nawiasu, jednak sądziłem, że to sformułowanie jest na tyle infantylne, iż nikt nie powinien potraktować go poważnie... Po prostu mam takie chore poczucie humoru. Często Ci, którzy mnie zbyt dobrze nie znają, opacznie odczytują moje intencje... I później następuje &quot;<a href="http://culture.pl/pl/tworca/jan-tadeusz-stanislawski"  class="postlink">styk mniemalny</a>&quot; (cytując znanego klasyka - profesora mniemanologii stosowanej). Dobrą stroną tej sytuacji jest to, że ten &quot;styk mniemalny&quot; staje się w efekcie (zgodnie z teorią profesora) motorem postępu.<br /><br />Spróbuję może też napisać coś na temat zagnieżdżania plików nagłówkowych, żeby nie było całkiem off-topic.<br />Zaznaczam, że to tylko moje mniemanie.<br /><br />Często tendencją wśród początkujących jest propagowanie swoich definicji, funkcji i zmiennych extern po całym projekcie, tak aby były dostępne w każdym pliku źródłowym. Niestety, nie jest to (w moim mniemaniu) dobra praktyka. W uproszczeniu można to porównać do sytuacji, gdy wszyscy pracownicy firmy mają klucze do wszystkich pomieszczeń czy też dostęp do wszystkich dokumentów firmowych. Nikt chyba nie uważa, że to dobra sytuacja dla firmy (niektórzy pracownicy być może nie mieliby nic przeciwko <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />). Dlatego też podstawowa zasada powinna być taka, że każdy plik *.c powinien mieć dostęp tylko i wyłącznie do definicji, funkcji i zmiennych extern, które są mu potrzebne. W związku z tym zalecane jest dołączanie plików nagłówkowych bezpośrednio w pliku *.c, a nie np. pośrednio poprzez jego plik nagłówkowy. Tenże plik nagłówkowy będzie przecież dołączany również do innych plików *.c łącznie ze wszystkimi zawartymi w nim (niekoniecznie tam potrzebnymi) plikami nagłówkowymi.<br /><br />Nie oznacza to wcale, że nie wolno stosować zagnieżdżania w ogóle. Łatwo zauważyć w plikach nagłówkowych avr-libc, że zagnieżdżanie jest tam dosyć często stosowane. Istnieją sytuacje, kiedy dołączanie plików nagłówkowych pośrednio poprzez inne pliki nagłówkowe jest uzasadnione.<br /><br />Najlepiej chyba będzie wytłumaczyć na przykładzie. Weźmy przykład z tego wątku.<br />W pliku &quot;lcd44780.h&quot; mamy deklarację funkcji:<br /><strong><em>void lcd_locate(uint8_t y, uint8_t x);</em></strong><br />Funkcja ta ma dwa parametry typu uint8_t.<br />Teraz plik &quot;lcd44780.h&quot; dołączamy do pliku &quot;lcd44780.c&quot;. Typ uint8_t nie jest jednak typem wbudowanym, więc aby plik &quot;lcd44780.c&quot; skompilował się prawidłowo, musi przed deklaracją naszej funkcji zawierać definicję typu uint8_t. Szczęśliwym trafem mamy też do tego pliku dołączony plik nagłówkowy &quot;avr/io.h&quot;, poprzez który (też nie bezpośrednio) dołączany jest także plik &quot;stdint.h&quot;. W pliku &quot;stdint.h&quot; jest potrzebna nam definicja typu uint8_t. Jeśli więc dołączymy plik &quot;lcd44780.h&quot; po dołączeniu &quot;avr/io.h&quot;, to kompilacja przebiegnie prawidłowo.<br /><br />No ale to jeszcze nie koniec. Funkcje do obsługi LCD stworzyliśmy przecież, aby z nich korzystać. Dołączamy więc plik &quot;lcd44780.h&quot; do pliku &quot;jakis.c&quot; i próbujemy skompilować. Niestety tak się składa, że w pliku &quot;jakis.c&quot; nie mamy akurat dołączonego pośrednio czy bezpośrednio pliku nagłówkowego &quot;stdint.h&quot; z definicją typu uint8_t, więc plik nam się nie skompiluje. Musimy w takim przypadku dołączyć plik &quot;stdint.h&quot; przed dołączeniem pliku &quot;lcd44780.h&quot;.<br /><br />Aby tego uniknąć dodać można dyrektywę:<br /><strong><em>#include &lt;stdint.h&gt;</em></strong><br />w pliku &quot;lcd44780.h&quot; przed deklaracją funkcji. Wtedy wystarczy w pliku &quot;jakis.c&quot; dołączyć tylko plik &quot;lcd44780.h&quot;, a kompilator nie zakończy pracy z błędem <em>unknown type name 'uint8_t'</em>.<br /><br />Moim zdaniem w sytuacjach, kiedy istnieją tego typu zależności, zagnieżdżanie jest dopuszczalne i nie jest niezgodne z dobrym stylem programowania. Jedynym mankamentem jest to, że patrząc na dyrektywy #include w pliku *.c nie znamy od razu pełnej listy dołączonych plików nagłówkowych, ale nie jest przecież dużym problemem to sprawdzić.<br /><br />I to by było na tyle.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 1 paź 2016, o 21:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-09-30T17:47:13+01:00</updated>
<published>2016-09-30T17:47:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170044#p170044</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170044#p170044"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170044#p170044"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />.. ale i tak mi się dostało, że teraz początkujący &quot;będzie szprycował pliki nagłówkowe niepotrzebnymi inkludami&quot;, i za te skwarki w kaszy...<br /></div><br />No to chyba ja też nie powinien się odważyć odpowiadać na forum <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> toż ja to pisałem do AUTORA i wątku i tego dodatkowego pytania <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> BOŻE ! Panowie no proszę - proszę nie przesadzajcie ...  Fakt miałeś pewnie swój sposób aby naprowadzić pytającego na trop a ja być może uprzedziłem no ale czy zrobiłem to jakoś złośliwie? specjalnie na złość ? .... no proszę<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 wrz 2016, o 17:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sparrow-hawk]]></name></author>
<updated>2016-09-30T17:06:21+01:00</updated>
<published>2016-09-30T17:06:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170038#p170038</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170038#p170038"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170038#p170038"><![CDATA[
Tak, dokładnie, chodziło mi o zagnieżdżanie plików nagłówkowych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10614">Sparrow-hawk</a> — 30 wrz 2016, o 17:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-09-30T16:58:32+01:00</updated>
<published>2016-09-30T16:58:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170037#p170037</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170037#p170037"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170037#p170037"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />ale ja rozumiem ... i nie twierdzę, że było inaczej ....<br /></div><br />.. ale i tak mi się dostało, że teraz początkujący &quot;będzie szprycował pliki nagłówkowe niepotrzebnymi inkludami&quot;, i za te skwarki w kaszy... <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />No chyba tak  pliki *.h zawsze dołączamy do plików *.c a nie odwrotnie<br /></div><br />Koledze <strong><em>Sparrow-hawk</em></strong> chodziło chyba bardziej o zagnieżdżanie plików nagłówkowych.<br />Ja już się nie odważę odpowiadać...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 30 wrz 2016, o 16:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-09-30T15:45:16+01:00</updated>
<published>2016-09-30T15:45:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170031#p170031</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170031#p170031"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170031#p170031"><![CDATA[
<div class="quotetitle">Sparrow-hawk napisał(a):</div><div class="quotecontent"><br />Jeśli dobrze zrozumiałem powyższe, to znaczy, że pliki biblioteczne należy dołączać do plików źródłowych, a nie do plików nagłówkowych - Tak?<br /></div><br /><br />No chyba tak <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> pliki *.h zawsze dołączamy do plików *.c a nie odwrotnie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 wrz 2016, o 15:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sparrow-hawk]]></name></author>
<updated>2016-09-30T15:03:42+01:00</updated>
<published>2016-09-30T15:03:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170026#p170026</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170026#p170026"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170026#p170026"><![CDATA[
Jeśli dobrze zrozumiałem powyższe, to znaczy, że pliki biblioteczne należy dołączać do plików źródłowych, a nie do plików nagłówkowych - Tak?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10614">Sparrow-hawk</a> — 30 wrz 2016, o 15:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-09-30T13:32:15+01:00</updated>
<published>2016-09-30T13:32:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170010#p170010</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170010#p170010"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170010#p170010"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />to nie była propozycja rozwiązania problemu.<br /></div><br />ale ja rozumiem ... i nie twierdzę, że było inaczej .... <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... dlatego pisałem na spokojnie, że &quot;tak mi się wydaje&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 wrz 2016, o 13:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-09-30T13:29:18+01:00</updated>
<published>2016-09-30T13:29:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170009#p170009</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170009#p170009"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170009#p170009"><![CDATA[
No cóż. To były tylko pytania, które miały na celu zdiagnozowanie przyczyny, to nie była propozycja rozwiązania problemu.<br />Wytłumaczenie miało być następnym krokiem, ale niestety kolega mnie ubiegł <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=14165">andrews</a> — 30 wrz 2016, o 13:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-09-30T13:12:51+01:00</updated>
<published>2016-09-30T13:12:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170004#p170004</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170004#p170004"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170004#p170004"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />No tak, tylko że to zależy od kolejności inkludowania (jak widać nie zawsze ta kolejność jest prawidłowa u początkujących). Jak się zainkluduje np. io.h na początku pliku nagłówkowego zamiast w pliku .c to nie będzie tego problemu<br /></div><br /><br />DOKŁADNIE i o tym wyżej napisałem - ale ja wolę podpowiadać z kolei tzw DOBRY STYL programowania do którego zalicza się również prawidłowa kolejność inkludowania plików <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... bo toż przecież - jeśli ten plik *.h będzie zainkludowany przez inkludem avr/io.h jak widać w ostatnim pytaniu no to co? ... to nie najlepszym rozwiązaniem będzie podpowiedź żeby człowiek inkludował znowu avr/io.h w pliku nagłówkowym bo za chwilę - jeśli nie zrozumie w czym rzecz - to będzie szprycował pliki nagłówkowe niepotrzebnymi inkludami jak dobrą kaszę skwarkami <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> tyle że nadmiarowo <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> - tak mi się wydaje .... i stąd wynikał mój to podpowiadania akurat<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 wrz 2016, o 13:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-09-30T13:09:53+01:00</updated>
<published>2016-09-30T13:09:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170003#p170003</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170003#p170003"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=170003#p170003"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Ale mi się wydaje, że w plikach nagłówkowych na potrzeby samych deklaracji funkcji nie trzeba inkludować tych plików ... chyba że są użyte jakieś nazwy które nie są używane w źródłowym ...<br /></div><br />No tak, tylko że to zależy od kolejności inkludowania (jak widać nie zawsze ta kolejność jest prawidłowa u początkujących). Jak się zainkluduje np. io.h na początku pliku nagłówkowego zamiast w pliku .c to nie będzie tego problemu <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=14165">andrews</a> — 30 wrz 2016, o 13:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Miodzjo]]></name></author>
<updated>2016-09-30T12:00:50+01:00</updated>
<published>2016-09-30T12:00:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169993#p169993</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169993#p169993"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169993#p169993"><![CDATA[
OK, dziękuję za wyjaśnienie, teraz jest wszystko OK.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14849">Miodzjo</a> — 30 wrz 2016, o 12:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-09-30T11:48:01+01:00</updated>
<published>2016-09-30T11:48:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169991#p169991</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169991#p169991"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169991#p169991"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />#include &quot;ws2812.h&quot;<br /><br />#include &lt;avr/io.h&gt;<br /></div><br /><br />No i popatrz <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> a mówisz - że robisz wszystko wg poradników ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> tymczasem na 100% to nie jest wg poradnika a podejrzewam, że być może nie masz nawet Bluebooka i dlatego tak ciężko ci to idzie .... Bo przepisujesz nie do końca rozumiejąc o co chodzi ....<br /><br />Tymczasem w Bluebooku jest to i mnóstwo innych rzeczy ładnie wyjaśnione<br /><br />wracając do problemu - no sam żesz pan pomyśl<br /><br />NAJPIERW inlkuldujesz w pliku *.c<br /><br />[syntax=c]#include &quot;ws2812.h&quot;[/syntax]<br /><br /><br />preprocesor rozwija to w tym pliku DOKŁADNIE w tym miejscu i tak próbuje kompilować - więc SKĄD ma wiedzieć, co to jest uint8_t jeśli takiego babola robisz, że plik <br /><br />[syntax=c]#include &lt;avr/io.h&gt;[/syntax]<br /><br />inkludujesz później ? .... mówię ci obejrzyj sobie ten jeden z ostatnich poradników , jeśli nie masz jeszcze Bluebooka<br /><br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><br /><br />bo jak tego nie zrozumiesz tylko znowu napiszesz bo ja tak ci powiedziałem to za chwilę będziesz w innych miejscach robił podobne albo i gorsze błędy<br /><br />W Bluebooku zwracam na to wszystko SZCZEGÓLNĄ uwagę w tym na poprawny styl pisania kodu - który jak widać na tym akurat przykładzie (tzn złym przykładzie) .... jest TAK WAŻNY ...<br /><br />A tymczasem popraw i zobaczysz CUD <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> będzie działać<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 wrz 2016, o 11:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Miodzjo]]></name></author>
<updated>2016-09-30T11:36:44+01:00</updated>
<published>2016-09-30T11:36:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169987#p169987</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169987#p169987"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169987#p169987"><![CDATA[
Witam<br /><br />Mam zdaje się identyczny problem, z tym że ja przerabiam poradniki od magic ledów. Utknąłem na 4 części w 39:42 <!-- m --><a class="postlink" href="https://youtu.be/xujEupk1s-E?t=39m42s" >https://youtu.be/xujEupk1s-E?t=39m42s</a><!-- m --> , gdzie Mirek przypomina, żeby wrzucić funkcje do pliku nagłówkowego, o czym ja oczywiście zapomniałem. Ale bez tego program się kompilował (z warnigiem) ale działał, a po wrzuceniu funkcji do pliku nagłówkowego program się już nie kompiluje. Wyskakuje błąd:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">12:29:54 **** Incremental Build of configuration Release for project WS2812_TEST ****<br />make all <br />Building file: ../WS2812/ws2812.c<br />Invoking: AVR Compiler<br />avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=16000000UL -MMD -MP -MF&quot;WS2812/ws2812.d&quot; -MT&quot;WS2812/ws2812.o&quot; -c -o &quot;WS2812/ws2812.o&quot; &quot;../WS2812/ws2812.c&quot;<br />In file included from ../WS2812/ws2812.c:9:0:<br />../WS2812/ws2812.h:17:16: error: unknown type name 'uint8_t'<br /> void send_rgb( uint8_t r, uint8_t g, uint8_t b);<br />                ^<br />../WS2812/ws2812.h:17:27: error: unknown type name 'uint8_t'<br /> void send_rgb( uint8_t r, uint8_t g, uint8_t b);<br />                           ^<br />../WS2812/ws2812.h:17:38: error: unknown type name 'uint8_t'<br /> void send_rgb( uint8_t r, uint8_t g, uint8_t b);<br />                                      ^<br />../WS2812/ws2812.h:18:18: error: unknown type name 'uint32_t'<br /> void send_color( uint32_t c);<br />                  ^<br />make: *** &#91;WS2812/ws2812.o&#93; Błąd 1<br /><br />12:29:54 Build Finished (took 688ms)<br /></div><br />Pewnie popełniłem jakiegoś babola, którego nie widzę pomimo wielokrotnego sprawdzenia, kod wydaje się być taki jak w poradniku.<br /><br />Mój kod:<br /><br />ws2812.c<br /><br />[syntax=c]/*<br /> * ws2812.c<br /> *<br /> *  Created on: 28 wrz 2016<br /> *      <br /> */<br /><br /><br />#include &quot;ws2812.h&quot;<br /><br />#include &lt;avr/io.h&gt;<br /><br />//      bit = 0<br />// +----+        |     +--------+<br />// |    |        |     |        |<br />// |    |        |     |        |<br />// |    |        |     |        |<br />// |    |        |     |        |<br />// |    |        |     |        |<br />// |    |        |     |        |    |<br />// |    +--------+     |        +----+<br />//<br /><br />void ws2812_init (void) {<br />WS_DIR |= WSPIN;<br />}<br />#if F_CPU == 11059200<br />static void send_zero(void) {<br />WS_PORT |= WSPIN;<br />asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />WS_PORT &amp;= ~WSPIN;<br />}<br /><br />static void send_one(void){<br />WS_PORT |= WSPIN;<br />asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />WS_PORT &amp;= ~WSPIN;<br />}<br />#endif<br /><br />#if F_CPU == 16000000<br />static void send_zero(void) {<br />WS_PORT |= WSPIN;<br />asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />WS_PORT &amp;= ~WSPIN;<br />}<br /><br />static void send_one(void){<br />WS_PORT |= WSPIN;<br />asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />asm(&quot;nop&quot;);asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />WS_PORT &amp;= ~WSPIN;<br />}<br />#endif<br /><br />#if F_CPU == 20000000<br />static void send_zero(void) {<br />WS_PORT |= WSPIN;<br />asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />WS_PORT &amp;= ~WSPIN;<br />}<br /><br />static void send_one(void){<br />WS_PORT |= WSPIN;<br />asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />asm(&quot;nop&quot;);asm(&quot;nop&quot;); asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />asm(&quot;nop&quot;); asm(&quot;nop&quot;);asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />asm(&quot;nop&quot;); asm(&quot;nop&quot;);<br />WS_PORT &amp;= ~WSPIN;<br />}<br />#endif<br /><br />void send_rgb( uint8_t r, uint8_t g, uint8_t b) {<br /><br />if (g &amp; 128) send_one(); else send_zero();<br />if (g &amp; 64) send_one(); else send_zero();<br />if (g &amp; 32) send_one(); else send_zero();<br />if (g &amp; 16) send_one(); else send_zero();<br />if (g &amp; 8) send_one(); else send_zero();<br />if (g &amp; 4) send_one(); else send_zero();<br />if (g &amp; 2) send_one(); else send_zero();<br />if (g &amp; 1) send_one(); else send_zero();<br /><br />if (r &amp; 128) send_one(); else send_zero();<br />if (r &amp; 64) send_one(); else send_zero();<br />if (r &amp; 32) send_one(); else send_zero();<br />if (r &amp; 16) send_one(); else send_zero();<br />if (r &amp; 8) send_one(); else send_zero();<br />if (r &amp; 4) send_one(); else send_zero();<br />if (r &amp; 2) send_one(); else send_zero();<br />if (r &amp; 1) send_one(); else send_zero();<br /><br />if (b &amp; 128) send_one(); else send_zero();<br />if (b &amp; 64) send_one(); else send_zero();<br />if (b &amp; 32) send_one(); else send_zero();<br />if (b &amp; 16) send_one(); else send_zero();<br />if (b &amp; 8) send_one(); else send_zero();<br />if (b &amp; 4) send_one(); else send_zero();<br />if (b &amp; 2) send_one(); else send_zero();<br />if (b &amp; 1) send_one(); else send_zero();<br /><br />}<br /><br />void send_color (uint32_t c) {<br /><br />uint8_t r = c&gt;&gt;16, g = c&gt;&gt;8, b = c;<br /><br /><br />if (g &amp; 128) send_one(); else send_zero();<br />if (g &amp; 64) send_one(); else send_zero();<br />if (g &amp; 32) send_one(); else send_zero();<br />if (g &amp; 16) send_one(); else send_zero();<br />if (g &amp; 8) send_one(); else send_zero();<br />if (g &amp; 4) send_one(); else send_zero();<br />if (g &amp; 2) send_one(); else send_zero();<br />if (g &amp; 1) send_one(); else send_zero();<br /><br />if (r &amp; 128) send_one(); else send_zero();<br />if (r &amp; 64) send_one(); else send_zero();<br />if (r &amp; 32) send_one(); else send_zero();<br />if (r &amp; 16) send_one(); else send_zero();<br />if (r &amp; 8) send_one(); else send_zero();<br />if (r &amp; 4) send_one(); else send_zero();<br />if (r &amp; 2) send_one(); else send_zero();<br />if (r &amp; 1) send_one(); else send_zero();<br /><br />if (b &amp; 128) send_one(); else send_zero();<br />if (b &amp; 64) send_one(); else send_zero();<br />if (b &amp; 32) send_one(); else send_zero();<br />if (b &amp; 16) send_one(); else send_zero();<br />if (b &amp; 8) send_one(); else send_zero();<br />if (b &amp; 4) send_one(); else send_zero();<br />if (b &amp; 2) send_one(); else send_zero();<br />if (b &amp; 1) send_one(); else send_zero();<br /><br />}[/syntax]<br /><br />ws2812.h<br /><br />[syntax=c]/*<br /> * ws2812.h<br /> *<br /> *  Created on: 28 wrz 2016<br /> *     <br /> */<br /><br />#ifndef WS2812_H_<br />#define WS2812_H_<br /><br />#define WSPIN (1&lt;&lt;PA0)<br />#define WS_PORT PORTA<br />#define WS_DIR DDRA<br /><br /><br />void ws2812_init (void);<br />void send_rgb( uint8_t r, uint8_t g, uint8_t b);<br />void send_color( uint32_t c);<br /><br />#endif /* WS2812_H_ */[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14849">Miodzjo</a> — 30 wrz 2016, o 11:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-09-30T10:44:47+01:00</updated>
<published>2016-09-30T10:44:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169976#p169976</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169976#p169976"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169976#p169976"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Czy w pliku &quot;lcd44780.h&quot; masz dyrektywę:<br />#include &lt;avr/ioh&gt;<br />lub przynajmniej<br />#include &lt;stdint.h&gt; ?<br /></div><br /><br />Ale mi się wydaje, że w plikach nagłówkowych na potrzeby samych deklaracji funkcji nie trzeba inkludować tych plików ... chyba że są użyte jakieś nazwy które nie są używane w źródłowym ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 wrz 2016, o 10:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-09-30T09:29:36+01:00</updated>
<published>2016-09-30T09:29:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169973#p169973</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169973#p169973"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169973#p169973"><![CDATA[
Przepraszam, że się wtrącam <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><div class="quotetitle">delma199 napisał(a):</div><div class="quotecontent"><br />Mianowicie w pliku nagłówkowym zadeklarowałem funkcje której argumenty są typu uint8_t i wyskakuje mi taki błąd. Dodam, że w pliku .c też użyłem tej nazwy i tam jest wszystko ok.<br /><br />Problem który napotkałem teraz pojawił się już na samym końcu, kiedy chciałem dodać funkcję lcd_locate() do pliku nagłówkowego<br /></div><br />Miałbym następujące pytania:<br /><br />Czy w pliku &quot;lcd44780.c&quot; masz dyrektywę:<br /><strong>#include &lt;avr/ioh&gt;</strong> ?<br /><br />Czy w pliku &quot;lcd44780.h&quot; masz dyrektywę:<br /><strong>#include &lt;avr/ioh&gt;</strong><br />lub przynajmniej<br /><strong>#include &lt;stdint.h&gt;</strong> ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 30 wrz 2016, o 09:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-09-30T09:01:28+01:00</updated>
<published>2016-09-30T09:01:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169968#p169968</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169968#p169968"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169968#p169968"><![CDATA[
<div class="quotetitle">delma199 napisał(a):</div><div class="quotecontent"><br />Mianowicie staram się samemu napisać sterownik do LCD zgodnie z instrukcjami zawartymi w blue booku<br /></div><br />Bardzo fajny cel ... warto przynajmniej popróbować - to mocno podnosi własny skill <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Wracając do twojego problemu - to zrozum, że błąd w takim wypadku i na moje oko wcale nie jest w tej linijce o której myślisz niestety ... gdzieś musiałeś (strzelam) zapomnieć średnika, dodać za dużo jeden nawias klamrowy albo za mało, itp itd ... a to potrafi spowodować takie efekty o jakich piszesz<br /><br />cofaj się w tym co robiłeś ... sprawdzaj kiedy zacznie być dobrze <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo pewnie wzrokowo ciężko wyłapać ... ale też w konsoli popatrz szerzej na błędy na numery linii itp itd<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 wrz 2016, o 09:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[delma199]]></name></author>
<updated>2016-09-30T08:53:59+01:00</updated>
<published>2016-09-30T08:53:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169967#p169967</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169967#p169967"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169967#p169967"><![CDATA[
Panie Mirku, nie wiem jak duży fragment kodu pomoże zdiagnozować problem. Mianowicie staram się samemu napisać sterownik do LCD zgodnie z instrukcjami zawartymi w blue booku. Normalnie jeśli coś nie banglało to zaglądałem w kod z CD i wszystko było ok. Problem który napotkałem teraz pojawił się już na samym końcu, kiedy chciałem dodać funkcję lcd_locate() do pliku nagłówkowego:<br />lcd44780.c:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#if USE_LCD_LOCATE == 1<br />// funkcja pozycjonowania kursora; dostosowuje automatycznie adresy DDRAM w zaleznosci od rodzaju wyswietlacza (ile ma wierszy)<br />void lcd_locate(uint8_t y, uint8_t x)<br />{<br />   switch(y)<br />      {<br />   case 0: y = LCD_LINE1; break;<br />#if (LCD_Y &gt; 1)<br />   case 1: y = LCD_LINE2; break;<br />#endif<br /># if (LCD_Y &gt; 2)<br />   case 2: y = LCD_LINE3; break;<br />#endif<br />#if (LCD_Y &gt; 3)<br />   case 3: y = LCD_LINE4; break;<br />#endif<br />      }<br />   lcd_write_cmd(0x80 + y + x);<br />}<br />#endif</div><br />lcd44780.h:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">void lcd_locate(uint8_t y, uint8_t x);</div><br />Nie wiem czy te fragmenty wystarczą ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1839">delma199</a> — 30 wrz 2016, o 08:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-09-30T08:32:38+01:00</updated>
<published>2016-09-30T08:32:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169964#p169964</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169964#p169964"/>
<title type="html"><![CDATA[Re: Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169964#p169964"><![CDATA[
Zrobiłeś babola w kodzie i to nie to że się domyślam - wiem to na 100% .... ale wiesz bez widoku tego kodu to już trzeba byłoby mieć co najmniej 3-kanałową szklaną kulę rasowej wróżki żeby podpowiedzieć ci gdzie zrobiłeś tego babola.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 wrz 2016, o 08:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[delma199]]></name></author>
<updated>2016-09-30T08:31:01+01:00</updated>
<published>2016-09-30T08:31:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169963#p169963</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169963#p169963"/>
<title type="html"><![CDATA[Błąd &quot;unknown type name 'uint8_t'&quot; w pliku nagłówkowym]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16340&amp;p=169963#p169963"><![CDATA[
Siemka wszystkim. Mianowicie w pliku nagłówkowym zadeklarowałem funkcje której argumenty są typu uint8_t i wyskakuje mi taki błąd. Dodam, że w pliku .c też użyłem tej nazwy i tam jest wszystko ok. Może ktoś wie o co chodzi?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1839">delma199</a> — 30 wrz 2016, o 08:31</p><hr />
]]></content>
</entry>
</feed>