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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-09-09T20:12:33+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=12890&amp;mode</id>
<entry>
<author><name><![CDATA[kidcowboy]]></name></author>
<updated>2015-09-09T20:12:33+01:00</updated>
<published>2015-09-09T20:12:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139408#p139408</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139408#p139408"/>
<title type="html"><![CDATA[Re: Podział na pliki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139408#p139408"><![CDATA[
Panie Mirku dziękuję <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=313">kidcowboy</a> — 9 wrz 2015, o 20:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-09-09T20:04:55+01:00</updated>
<published>2015-09-09T20:04:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139405#p139405</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139405#p139405"/>
<title type="html"><![CDATA[Re: Podział na pliki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139405#p139405"><![CDATA[
Panie <br /><br />1. TYP strukturalny definiujesz w pliku *.h<br />2. w pliku *.c definiujesz zmienną tego typu<br />3. i wtedy wracasz do pliku *.h i tam robisz deklarację tej zmiennej czyli dodajesz extern<br /><br />i wtedy po zainkludowaniu pliku *.h wszystko ci działa<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 wrz 2015, o 20:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kidcowboy]]></name></author>
<updated>2015-09-09T20:03:25+01:00</updated>
<published>2015-09-09T20:03:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139404#p139404</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139404#p139404"/>
<title type="html"><![CDATA[Re: Podział na pliki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139404#p139404"><![CDATA[
No niby to wszystko wiem ale jak przychodzi co do czego to lipa. zrobiłem tak jak podpowiedziałeś i mogę w pliku głownym przypisać wartości zdefiniowane w pliku key.h ale ja bym wolał żeby były w pliku key.c - i tu pojawia się kolejny problem - sorry że truje<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=313">kidcowboy</a> — 9 wrz 2015, o 20:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-09-09T19:58:24+01:00</updated>
<published>2015-09-09T19:58:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139403#p139403</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139403#p139403"/>
<title type="html"><![CDATA[Re: Podział na pliki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139403#p139403"><![CDATA[
<div class="quotetitle">kidcowboy napisał(a):</div><div class="quotecontent"><br />to gdzie mogę przypisać im wartości poza plikiem głównym main ?<br /></div><br />W plikach nagłówkowych z rozszerzeniem .c.<br /><br />Dobrym przyzwyczajeniem jest podział programu na pliki w taki sposób, aby obsługę różnych elementów zapisujesz w różnych parach plików.<br />Mam na myśli, że jeśli masz np. obsługę klawiszy to tworzysz dla nich dwa pliki:<br />z rozszerzeniem .h - tam DEKLARUJESZ funkcje.<br />z rozszerzeniem .c - tam DEFINIUJESZ funkcje.<br />Czyli np <br />key.c oraz key.h <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />W main.c natomiast załączasz TYLKO nagłówki .h oraz w pętli głównej wywołujesz kolejne funkcje wedle tego, w jaki sposób ma działać Twój program.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 9 wrz 2015, o 19:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kidcowboy]]></name></author>
<updated>2015-09-09T19:52:55+01:00</updated>
<published>2015-09-09T19:52:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139402#p139402</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139402#p139402"/>
<title type="html"><![CDATA[Re: Podział na pliki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139402#p139402"><![CDATA[
a mam pytanie jeszcze jedno jak np. zdefiniuję sobie zmienne [syntax=c]TBUTTON button1, button2;[/syntax] <br />to gdzie mogę przypisać im wartości poza plikiem głównym main ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=313">kidcowboy</a> — 9 wrz 2015, o 19:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-09-09T19:47:37+01:00</updated>
<published>2015-09-09T19:47:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139401#p139401</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139401#p139401"/>
<title type="html"><![CDATA[Re: Podział na pliki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139401#p139401"><![CDATA[
Podeślesz cały program? Wrzucę do kompilatora i sprawdzę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9183">Czapek</a> — 9 wrz 2015, o 19:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kidcowboy]]></name></author>
<updated>2015-09-09T19:39:05+01:00</updated>
<published>2015-09-09T19:39:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139399#p139399</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139399#p139399"/>
<title type="html"><![CDATA[Re: Podział na pliki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139399#p139399"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />extern int zmienna<br /></div> no niestety tak już tez próbowałem i niestety lipa<br /><br /><br />wypluwa mi program error<br /><br />[syntax=c]error: expected '=', ',', ';', 'asm' or '__attribute__' before 'button'[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=313">kidcowboy</a> — 9 wrz 2015, o 19:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Czapek]]></name></author>
<updated>2015-09-09T19:43:23+01:00</updated>
<published>2015-09-09T19:35:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139398#p139398</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139398#p139398"/>
<title type="html"><![CDATA[Re: Podział na pliki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139398#p139398"><![CDATA[
Tak na pierwszy rzut oka powinno być extern TBUTTON button.<br />Bo TBUTTON to typ zmiennej a button to Twoja nazwa zmiennej.<br />Dla przykładu gdy masz zmienną:<br />[syntax=c]int zmienna;[/syntax]<br />to taka zmienna extern wygląda tak:<br />[syntax=c]extern int zmienna;[/syntax]<br />Ogółem troszkę inaczej rozmieściłbym to. <br />Cały kod który masz wrzuciłbym do pliku z rozszerzeniem .h i nie bawił się w extern.<br /><br />W moim odczuciu lepiej byłoby zrobić to tak, żeby nie mieszać deklaracji funkcji z jej definicjami. Deklaracje funkcji (w tym także np Twojej struktury) umieszcza się w pliku .h. Definicje umieszcza sie w pliku .c.<br />[syntax=c]#ifndef KEY_H_<br />#define KEY_H_<br /> <br />#include &lt;avr/io.h&gt;<br />#include &lt;stdlib.h&gt;<br /> <br />#define KEY1 (1&lt;&lt;PC0)<br />#define KEY2 (1&lt;&lt;PC1)<br /> <br />volatile uint16_t Timer1;<br /> <br /> typedef struct {<br /> volatile uint8_t *KPIN;<br /> uint8_t key_mask;<br /> uint8_t wait_time_s;<br /> void (*kfun1)(void);<br /> uint8_t klock;<br /> uint8_t flag;<br />} TBUTTON;<br /> <br />TBUTTON button;<br /><br />#endif /* KEY_H_ */[/syntax]<br /><br />Pozdrawiam <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=9183">Czapek</a> — 9 wrz 2015, o 19:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kidcowboy]]></name></author>
<updated>2015-09-09T19:29:12+01:00</updated>
<published>2015-09-09T19:29:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139396#p139396</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139396#p139396"/>
<title type="html"><![CDATA[Podział na pliki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12890&amp;p=139396#p139396"><![CDATA[
Witam mam pytanie... chciałbym umieścić typ strukturalny w oddzielnym pliku key.c i tam przypisac wartości  jednakże nie mogę korzystać z niego w main gdy robię to w taki sposób:<br /> <br /><br />key.c [syntax=c]#include &quot;key.h&quot;<br />#include &lt;avr/io.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br /><br /><br />typedef struct {<br /> volatile uint8_t *KPIN;<br /> uint8_t key_mask;<br /> uint8_t wait_time_s;<br /> void (*kfun1)(void);<br /> uint8_t klock;<br /> uint8_t flag;<br />} TBUTTON;<br /><br />TBUTTON button;<br />// gdy próbuję inicjalizować zmienne wartościami - pojawia się błąd[/syntax] <br /><br />key.h <br /><br />[syntax=c]#ifndef KEY_H_<br />#define KEY_H_<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />#define KEY1 (1&lt;&lt;PC0)<br />#define KEY2 (1&lt;&lt;PC1)<br /><br />volatile uint16_t Timer1;<br /><br /><br />extern  button; // tu pojawia się komunikat błędu<br /><br /><br /><br /><br /><br /><br /><br />#endif /* KEY_H_ */[/syntax]<br /><br />nie rozumiem dlaczego program wypluwa błąd przecież button jest zmienną strukturalną i chcę by była widoczna w pliku głównym main <br /><br />Z góry dziękuję za pomoc<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=313">kidcowboy</a> — 9 wrz 2015, o 19:29</p><hr />
]]></content>
</entry>
</feed>