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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2019-01-11T08:59:55+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=21860&amp;mode</id>
<entry>
<author><name><![CDATA[Kabuuz]]></name></author>
<updated>2019-01-11T08:59:55+01:00</updated>
<published>2019-01-11T08:59:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21860&amp;p=215684#p215684</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21860&amp;p=215684#p215684"/>
<title type="html"><![CDATA[Re: Pliki nagłówkowe - problemy z wykorzystaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21860&amp;p=215684#p215684"><![CDATA[
Tego wątku nie widziałem bo jestem całkowicie nowy. Rozwiązałem problem. Eclips podświetlał wykorzystanie typu uint8_t jako błąd jeśli nie znajdowało się w main.c. Podobnie było z dyrektywami #define, a że stwierdziłem, że skoro podświetla to jako błędy to coś musi być nie tak to tego nie budowałem i próbowałem dodawać różne includy znalezione w internecie. Teraz spróbowałem to zbudować i wszystko śmiga. Następnym razem postaram się lepiej opisywać problem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=20455">Kabuuz</a> — 11 sty 2019, o 08:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-01-11T03:17:04+01:00</updated>
<published>2019-01-11T03:17:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21860&amp;p=215681#p215681</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21860&amp;p=215681#p215681"/>
<title type="html"><![CDATA[Re: Pliki nagłówkowe - problemy z wykorzystaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21860&amp;p=215681#p215681"><![CDATA[
Łooooch, aleś pan namieszał ... no namieszał że aż strach się bać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> a szczególnie tego stwierdzenia <br /><br /><div class="quotetitle">Kabuuz napisał(a):</div><div class="quotecontent"><br />w plikach nagłówkowych nie mogę użyć uint8_t ani żadnego podobnego bo podobno nie rozpoznaje typu,<br /></div><br /><br />nie obraź się, ale stwierdzenia KOMPLETNIE bez sensu ... skąd ty takie informacje bierzesz ? Coś czuję, że jeśli nie czytałeś jakichś czeluści internetu to być może niedawno wpadł ci w oko pewien wątek na forum - gdzie coś było o tym wspominane, ale widać, że nie przeczytałeś całego wątku albo tylko po tzw łepkach i na tej podstawie wysnuwasz jakieś niestety kocie wnioski <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />ale do rzeczy:<br /><br />Skoro już masz Bluebooka to postaraj się zajrzeć do programów do niego dołączonych i zobacz jak to się robi, gdzie się umieszcza makra za pomocą dyrektyw #define ....<br /><br />oczywiście, że zwyczajowo w plikach nagłówkowych no ale nie tylko, bo preprocesor wykorzystuje się chociażby do kompilacji warunkowej więc czy z tego powodu czy z innych można używać #define w plikach źródłowych - wszystko zależy od potrzeb. Ale zanim się zrozumie te różne potrzeby - to staraj się działać z tą zasadą, że korzysta się z nich w plikach nagłówkowych tak jak napisane jest w Bluebooku<br /><br /><div class="quotetitle">Kabuuz napisał(a):</div><div class="quotecontent"><br />Na początek chciałem spróbować z czymś prostym więc stworzyłem pliki klawisz.c i klawisz.h żeby w zależności od stanu przycisku zapalać lub gasić diodę i mam mały problem.<br /></div><br />Jesteś stosunkowo nowy na forum więc tylko dlatego nie daję warna za tak zadane pytania - bo jest to typowe pytanie do rasowych jasnowidzów - a takich na tym forum nie ma - więc na przyszłość bardzo uprzejmie proszę - zadając pytanie podawaj odpowiednie informacje, żeby można było coś pomóc a nie się domyślać czy grać w kalambury, zagadki i ciągnąć za język - żebyś pokazał fragment kodu, który piszesz i masz w nim błędy ok?<br /><br />po prostu wklej kod takich dwóch plików, do tego swojego testowego pliku main.c - pokaż jak to wszystko inkludujesz i ew jakiś zrzut ekranu np z Eclipse czy z konsoli jakie to dokładnie błędy ci się pokazują - bo inaczej to jak mówię - zacznie się zgadywanka i jasnowidztwo zamiast otrzymania krótkiej i konkretnej pomocy<br /><br /><div class="quotetitle">Kabuuz napisał(a):</div><div class="quotecontent"><br />-w którym z tych plików mogę/powinienem użyć &quot;#define zmienna wartosc&quot; żeby potem móc tego użyć w mainie i jak tego użyć (próbowałem w klawiatura.h i klawiatura.c ale nie wykryło tego co napisałem).<br /></div><br />Jak mówię w materiałach do książki masz milion przykładów gdzie można to zobaczyć - nie wspominając że i w książce te przykłady też są, ale ok i tu ci podpowiem, że to co konkretnie chcesz zrobić to w pliku *.h<br /><br /><div class="quotetitle">Kabuuz napisał(a):</div><div class="quotecontent"><br />w zależności od stanu przycisku zapalać lub gasić diodę i mam mały problem.<br /></div><br />Gdzie masz konkretnie ten problem? pokazałeś w jakikolwiek sposób nie wiem kod błędu? wynik z konsoli po kompilacji ?<br /><br /><div class="quotetitle">Kabuuz napisał(a):</div><div class="quotecontent"><br />Dodałem wcześniej &lt;avr/io.h&gt;<br /></div><br />Gdzie to dodałeś poza tym, że wcześniej ? słówko wcześniej wcale nie wyjaśnia gdzie<br /><br />Mam nadzieję, że poprawisz opis problemu ok?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 sty 2019, o 03:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kabuuz]]></name></author>
<updated>2019-01-11T08:57:19+01:00</updated>
<published>2019-01-10T23:03:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21860&amp;p=215675#p215675</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21860&amp;p=215675#p215675"/>
<title type="html"><![CDATA[Pliki nagłówkowe - problemy z wykorzystaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21860&amp;p=215675#p215675"><![CDATA[
Cześć. Dopiero zaczynam swoją przygodę z mikrokontrolerami. Czytam książkę &quot;Mikrokontrolery AVR- podstawy programowania&quot; i jest tam napisane, że kiedy chcemy zrobić własny plik do korzystania np. z klawiatury to tworzymy plik klawiatura.c i plik klawiatura.h.<br />Na początek chciałem spróbować z czymś prostym więc stworzyłem pliki klawisz.c i klawisz.h żeby w zależności od stanu przycisku zapalać lub gasić diodę i mam mały problem.<br />-w którym z tych plików mogę/powinienem użyć &quot;#define zmienna wartosc&quot; żeby potem móc tego użyć w mainie i jak tego użyć (próbowałem w klawiatura.h i klawiatura.c ale nie wykryło tego co napisałem). Chciałem tego użyć do ustawienia odpowiednich bitów DDRx i PORTx<br />-w plikach nagłówkowych nie mogę użyć uint8_t ani żadnego podobnego bo podobno nie rozpoznaje typu(&quot;Cannot be resolved to a type), dopiero zwykły int działa, jak to rozwiązać? <br /><br />main:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;klawisz.h&quot;<br /><br />#define LED_PIN (1&lt;&lt;PC3)<br />#define LED_OFF PORTC|=LED_PIN<br />#define LED_ON PORTC&amp;=~LED_PIN<br /><br />int main(void){<br />DDRC|=LED_PIN;<br />PORTC|=LED_PIN;<br />DDRC&amp;=~KEY_PIN;<br />PORTC|=KEY_PIN;<br /><br />while(1){<br />if(klawisz_wcisniety(KEY_PIN)){<br />LED_ON;<br />}else{<br />LED_OFF;<br />}<br />}<br />}[/syntax]<br /><br />klawisz.c<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;klawisz.h&quot;<br /><br />uint8_t klawisz_wcisniety(uint8_t klawisz){<br />if(!(PINC&amp;klawisz)){<br />_delay_ms(80);<br />if(PINC&amp;klawisz) return 1;<br />}<br />return 0;<br />}[/syntax]<br />klawisz.h:<br />[syntax=c]#ifndef KLAWISZ_H_<br />#define KLAWISZ_H_<br /><br />#define KEY_PIN (1&lt;&lt;PC2)<br />#define KEY_DOWN !(PINC&amp;KEY_PIN)<br /><br />uint8_t klawisz_wcisniety(uint8_t klawisz);<br /><br />#endif /* KLAWISZ_H_ */[/syntax]<br /><br />Z góry dzięki za pomoc <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=20455">Kabuuz</a> — 10 sty 2019, o 23:03</p><hr />
]]></content>
</entry>
</feed>