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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=8097&amp;mode</id>
<entry>
<author><name><![CDATA[eDaro]]></name></author>
<updated>2014-08-13T11:46:45+01:00</updated>
<published>2014-08-13T11:46:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91356#p91356</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91356#p91356"/>
<title type="html"><![CDATA[Re: multipleksowanie bluebook kilka pytan]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91356#p91356"><![CDATA[
Nie nie robią dobrze, bo między .c a .h jest różnica, to że eclipse dodaje te 3 wersy do inkludowanego pliku, to też znaczy że są one pewnie potrzebne. Skoro u mnie nie wywaliło błędu, to też nie wiadomo w sumie jak będzie wyglądać sytuacja w programach innych, bardziej rozbudowanych..<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5240">eDaro</a> — 13 sie 2014, o 11:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-08-11T19:50:39+01:00</updated>
<published>2014-08-11T19:50:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91125#p91125</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91125#p91125"/>
<title type="html"><![CDATA[Re: multipleksowanie bluebook kilka pytan]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91125#p91125"><![CDATA[
<div class="quotetitle">eDaro napisał(a):</div><div class="quotecontent"><br />ale jestem wscibski i niezaszkodzi wiedzieć czy to coś zmieni<br /></div><br /><br />to jest bardzo dobra postawa ... ja też uważam, że zawsze warto coś sprawdzać samemu tak aby zrozumieć to do końca ...<br /><br />ale ... no ale niebezpieczne bywa - wyciąganie wniosków pochopnych ... jak już mówiłem wyżej .. bo nie wszystko sprowadza się do warningów tak naprawdę a z drugiej strony tu chodzi o pewne specyficzne sytuacje takiego wielokrotnego inkludowania, które pewnie też w programach początkującego nie zawsze wystąpią ...<br /><br />dlatego gdy ja się uczyłem i ktoś mi mówił że tak się robi w C ... to tego starałem się trzymać nawet na początku nie rozumiejąc do końca o co chodzi - za to później ... łatwiej było mi to zrozumieć ...<br /><br />Pomyśl sobie - coś musi w tym być skoro nawet sam Eclipse jako edytor wstawia automatycznie za nas te IF_DEF'y ... na wszelki wypadek gdyby programista zapomniał ... więc na przyszłość tym się kieruj a nie tym, że ci warnigów nie wywaliło to znaczy że bez nich też jest OK<br /><br />Zobacz na przykład ilu ludzi w necie pisząc swoje programy w C ... inkluduje pliki źródłowe *.c !!! ... i też w wielu przypadkach im to działa i żadnych warnigów nie ma ... uważasz że dobrze robią ? <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> — 11 sie 2014, o 19:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eDaro]]></name></author>
<updated>2014-08-11T19:00:18+01:00</updated>
<published>2014-08-11T19:00:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91118#p91118</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91118#p91118"/>
<title type="html"><![CDATA[Re: multipleksowanie bluebook kilka pytan]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91118#p91118"><![CDATA[
Ok, dziękuję za odpowiedzi. Te definicje i deklaracje przyznaje, że olałem, że nie przypomniałem ich sobie tylko operowałem intuicyjne, a powinno być świadomie i to był mój duży błąd, co do tych przsunięć, w głowie rozjaśniło mi się <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Co do 3 pytania dziwnie byłoby na pewno usunąć te ifndefy, ale jestem wscibski i niezaszkodzi wiedzieć czy to coś zmieni.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5240">eDaro</a> — 11 sie 2014, o 19:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[danny]]></name></author>
<updated>2014-08-11T18:47:35+01:00</updated>
<published>2014-08-11T18:47:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91115#p91115</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91115#p91115"/>
<title type="html"><![CDATA[Re: multipleksowanie bluebook kilka pytan]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91115#p91115"><![CDATA[
Za SEG_A  masz przy kompilacji podstawiane (1&lt;&lt;0). Na tym etapie nie ma najmniejszego sensu jaki to port. Bo przeciez potem w programie w kodzie piszesz: np. PORTA |= SEGA;  co jest podstawiane jako PORTA |= (1&lt;&lt;0) --&gt; no to już kompilator wie ze to port A, bo PORTA |= (1&lt;&lt;0)  to to tamo co PORTA |=(1&lt;&lt;PA0).  Niech kolega podejrzy sobie pliki nagłówkowe dowolnej np ATMEGI, tam<br />są właśnie zdefiniowane piny procesora PA0 jako 0, PA1 jako 1, PB0, PC0, PD0 jako 0.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1505">danny</a> — 11 sie 2014, o 18:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eDaro]]></name></author>
<updated>2014-08-11T18:46:35+01:00</updated>
<published>2014-08-11T18:46:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91114#p91114</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91114#p91114"/>
<title type="html"><![CDATA[Re: multipleksowanie bluebook kilka pytan]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91114#p91114"><![CDATA[
W sumie to czytałem dawno i zapomniałem całkiem, ale widzę że muszę ponownie przeczytać, zanotować i zrozumieć. Dziękuję za odpowiedź. A te 2 pozostałe pytania to mógłby mi ktos napisać dlaczego tak jest?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5240">eDaro</a> — 11 sie 2014, o 18:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-08-11T18:38:29+01:00</updated>
<published>2014-08-11T18:38:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91112#p91112</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91112#p91112"/>
<title type="html"><![CDATA[Re: multipleksowanie bluebook kilka pytan]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91112#p91112"><![CDATA[
<div class="quotetitle">eDaro napisał(a):</div><div class="quotecontent"><br />i ten wers jest deklaracją zmiennej globalnej, która znajduje się w pliku tymże d_led.h . Więc teoretycznie (chyba)powinno się, przy dołączeniu tego pliku nagłówkowego do innego pliku, sprawić że każda taka zmienna bez extern i tak zostanie dołączona do innego pliku i &quot;zrozumiana&quot; przez kompilator, a extern sprawia, że te zmienne będą dołączone we wszystkich modułach, które d_led.h dołączą, więc (chyba) niekonieczne jest dołączanie externa.Usunąłem go i kompilator nie pokazywał błędu(ale w praktyce nie sprawdziłem). Więc powinno się użyć w takiej sytuacji externa? Czy błąd wystąpi w praktyce, a w kompilatorze nie?<br /></div><br /><br />A próbowałeś przeczytać w książce czym się różni deklaracja od definicji ZMIENNEJ ? bo pisze kolega tak - jakby w książce w ogóle tego tematu nie było poruszonego ... i stąd potem takie kuriozalne wnioski, że bez extern też mi działa - to po co ten extern? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> Jak nie dasz extern to masz pan DEFINICJĘ zmiennej ... rozumiesz ?<br /><br />i nie mogło nie być błędu jeśli gdziekolwiek w kodzie w pliku *.c masz również definicję ... więc przede wszystkim coś mocno źle robisz<br /><br />albo ... albo tak jak niektórzy początkujący uznajesz, że gdy się pokażą warningi i drugi raz puścimy kompilację - to wtedy one znikają i znaczy że jest cacuni że nie ma już warningów ... a to znowu nie to ... Bo po drugiej kompilacji BEZ ZMIAN w kodzie kompilator dostaje od ciebie INFO, cicho tam! ... mi warningi nie przeszkadzają<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 sie 2014, o 18:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eDaro]]></name></author>
<updated>2014-08-11T18:14:18+01:00</updated>
<published>2014-08-11T18:14:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91105#p91105</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91105#p91105"/>
<title type="html"><![CDATA[multipleksowanie bluebook kilka pytan]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8097&amp;p=91105#p91105"><![CDATA[
Witam, chciałbym zadać Wam kilka wścibskich pytań, które nurtują mnie, ale odpowiedzi na nie będą bardzo pomocne i myślę, że rozwieją wątpliwości do podobnych sytuacji. A mianowicie: <br />- mam takie linijki kodu<br />[syntax=c]DDRC = 0xFF;<br />PORTC = 0xFF;<br />DDRA |= CA1 | CA2;<br />PORTA |= CA1| CA2;[/syntax]<br />a później definicje dla preprocka:<br />[syntax=c]#define CA1 (1&lt;&lt; 0)<br />#define CA2 (1&lt;&lt;1)<br />#define SEG_A (1&lt;&lt;0)<br />#define SEG_B (1&lt;&lt;1)[/syntax]<br />Więc pierwsze pytanie brzmi: skąd kompilator wie, że jak piszę przykładowo to SEG_A (1&lt;&lt;0), że chodzi tu o pin w porcie C zamiast np.B, czy A? Czy chodzi tu o to, że napisałem CA1 to (1&lt;&lt;0) więc przypisanie do portu A odpada, a że nie pisałem w ogóle o stanie w porcie B, to PORTB też odpada i pozostaje to C, który to port jest ustawiony na wysoki?<br /><br />Kolejne pytanie dotyczy przydomka extern:<br />Jest<br />[syntax=c]extern volatile uint8_t c5;[/syntax]<br />i ten wers jest deklaracją zmiennej globalnej, która znajduje się w pliku tymże d_led.h . Więc teoretycznie (chyba)powinno się, przy dołączeniu tego pliku nagłówkowego do innego pliku, sprawić że każda taka zmienna bez extern i tak zostanie dołączona do innego pliku i &quot;zrozumiana&quot; przez kompilator, a extern sprawia, że te zmienne będą dołączone we wszystkich modułach, które d_led.h dołączą, więc (chyba) niekonieczne jest dołączanie externa.Usunąłem go i kompilator nie pokazywał błędu(ale w praktyce nie sprawdziłem). Więc powinno się użyć w takiej sytuacji externa? Czy błąd wystąpi w praktyce, a w kompilatorze nie?<br /><br />Kolejny wstęp i pytanie<br />[syntax=c]#ifndef _d_led_h<br />#define _d_led_h[/syntax] Te dyrektywy zapewniają zabezpiecznie przed wielokrotnym dołączeniem tego samego pliku nagłówkowego do innych plików. Z ciekawości też skasowałem te 2 wersy i #endif i dołączyłem d_led.h 2 razy do 2 innych plików. I nic się nie działo. Kompilator nie pokazywał  błędu. Więc pytanie: Czy to jest takie zabezpieczenie &quot;na amen&quot; czy symboliczne, czy w praktyce wystąpiłyby błędy?(nie próbowałem w praktyce). Myślę, że to tyle. Liczę na Wasze odpowiedzi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5240">eDaro</a> — 11 sie 2014, o 18:14</p><hr />
]]></content>
</entry>
</feed>