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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2019-07-06T03:30:55+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=22381&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-07-06T03:30:55+01:00</updated>
<published>2019-07-06T03:30:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220273#p220273</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220273#p220273"/>
<title type="html"><![CDATA[Re: Własne biblioteki, zasięg zmiennych, nazwy zmiennych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220273#p220273"><![CDATA[
<div class="quotetitle">mes mariusz napisał(a):</div><div class="quotecontent"><br />PS. Jeśli zamieszczenie linku do .pdf-a koliduje z regulaminem,<br /></div><br />Nie narusza a przy okazji ładna konstrukcja i dobry cel, żeby przerobić wszystko na C<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 6 lip 2019, o 03:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mes mariusz]]></name></author>
<updated>2019-07-05T23:11:14+01:00</updated>
<published>2019-07-05T23:11:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220271#p220271</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220271#p220271"/>
<title type="html"><![CDATA[Re: Własne biblioteki, zasięg zmiennych, nazwy zmiennych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220271#p220271"><![CDATA[
Tak zrobię. Przy okazji - już teraz zdradzę zaplecze swojego pytania. Kilka (naście?) lat temu (kiedy będąc &quot;wolnym strzelcem&quot; miałem jeszcze na to czas) realizowałem sporo projektów na AVR-ach przy użyciu kompilatora Basica (Bascom AVR). Wśród nich znalazła się również ta centraalka alarmowa -&gt; <!-- m --><a class="postlink" href="https://serwis.avt.pl/manuals/AVT5252.pdf" >https://serwis.avt.pl/manuals/AVT5252.pdf</a><!-- m --><br /><br />Po 10 latach sięgnąłem po nią, bo dzieciak zażyczył sobie alarmu do pokoju. Po wspomnianych 10 latach robię upgrade firmware-u <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> bo trzeba wprowadzić tryby pracy (przynajmniej rozdział na biuro i sypialnię dziecka) oraz obsługę wielu użytkowników (przynajmniej dziecko, mama, tata). I jeszcze kilka innych bajerów. <br /><br />W swoich prostych urządzeniach (za czasów Bascoma) nie posiłkowałem się funkcjami. Wszystko oparte było na sub-ach (procedurach) i call-owaniu do nich. Ponadto operowałem wyłącznie na zmiennych globalnych. Być może Bascom wspierał funkcje, a jeśli funkcje, to może i podział na zmienne lokalne i globalne. Nie korzystałem z tego. Optymalizacja kodu leżała zatem w moich rękach. Zmienne starałem się deklarować jako możliwie uniwersalne, i jeśli jakaś nie była krytyczna, używałem jej wielokrotnie w różnych procedurach. Wiedziałem, że jeśli wykonuje się dana część kodu, w danym momencie, &quot;współdzielenie&quot; zmiennej nie będzie miało złych następstw (a pamięć mikrokontrolera była wykorzystywana w miarę, na moje możliwości, optymalnie). <br /><br />Z innego z kolei projektu pamiętam, że próbowałem duży plik .bas podzielić na osobne pliki, opcjonalnie załączane (korzystając z Bascomowego dobrodziejstwa #include). Pamiętam, że z nieznanych mi wtedy przyczyn (zdaje się, że mimo poprawnej kompilacji), nie chciało mi działać to poprawnie. Przeniesione na powrót do jednego dużego pliku .bas znów wszystko zaczęło działać poprawnie.<br /><br />C wraz z dobrodziejstwem tworzenia funkcji, z całym inwentarzem zasięgu zmiennych i możliwości wypychania funkcji do zewnętrznych plików - bibliotek, pozwoli uczynić kod dużo bardziej przejrzystym, zwięzłym i optymalnym. I choć siadając do kodu, który pisałem 10 lat temu, nie stanowi dziś dla mnie problemu nawet mocne przemodelowanie całości (widać, to co pisałem miało swój porządek, ręce i nogi), to korci mnie, by przenieść kod (choćby w celach ćwiczebnych) z basica do C, przy okazji stworzyć osobną bibliotekę z wszelakimi funkcjami przydatnymi w budowaniu centralek alarmowych), tak, by główny kod, korzystający z tej biblioteki stał się maksymalnie przejrzysty i zwięzły, a modernizacja firmware-u stała się jeszcze prostsza i przyjemniejsza.<br /><br />PS. Jeśli zamieszczenie linku do .pdf-a koliduje z regulaminem, link usunę (dajcie znać proszę). <br /><br />Pozdrawiam<br />Mariusz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7975">mes mariusz</a> — 5 lip 2019, o 23:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-07-04T07:32:21+01:00</updated>
<published>2019-07-04T07:32:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220203#p220203</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220203#p220203"/>
<title type="html"><![CDATA[Re: Własne biblioteki, zasięg zmiennych, nazwy zmiennych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220203#p220203"><![CDATA[
<div class="quotetitle">mes mariusz napisał(a):</div><div class="quotecontent"><br />Tyle wystarczy. Przypomnę sobie po powrocie. <br /><br />Dzięki.<br /></div><br />A wtedy gdyby jeszcze było coś niejasne to śmiało tutaj dopytaj<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 4 lip 2019, o 07:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mes mariusz]]></name></author>
<updated>2019-07-03T22:35:44+01:00</updated>
<published>2019-07-03T22:35:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220200#p220200</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220200#p220200"/>
<title type="html"><![CDATA[Re: Własne biblioteki, zasięg zmiennych, nazwy zmiennych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220200#p220200"><![CDATA[
Tyle wystarczy. Przypomnę sobie po powrocie. <br /><br />Dzięki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7975">mes mariusz</a> — 3 lip 2019, o 22:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-07-03T22:27:03+01:00</updated>
<published>2019-07-03T22:27:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220198#p220198</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220198#p220198"/>
<title type="html"><![CDATA[Re: Własne biblioteki, zasięg zmiennych, nazwy zmiennych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220198#p220198"><![CDATA[
<div class="quotetitle">mes mariusz napisał(a):</div><div class="quotecontent"><br />Zakładam, że nie było video poradnika skoncentrowanego na tym temacie,<br /></div><br />Ciężko robić poradnik wideo na temat tak podstawowych informacji, które zresztą zostały bardzo dobrze opisane w Bluebooku. Nawet nie wiem co można byłoby jeszcze więcej omawiać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 lip 2019, o 22:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mes mariusz]]></name></author>
<updated>2019-07-03T22:24:05+01:00</updated>
<published>2019-07-03T22:24:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220197#p220197</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220197#p220197"/>
<title type="html"><![CDATA[Własne biblioteki, zasięg zmiennych, nazwy zmiennych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22381&amp;p=220197#p220197"><![CDATA[
Witam.<br /><br />Jestem na urlopie, więc nie mam pod ręką (niestety nie spakowałem) GB ani BB. Ktoś podpowie, gdzie szukać (książki - po urlopie) lub video poradniki (to mógłbym obejrzeć już teraz) materiały, które wyczerpująco traktują temat zasięgu / widoczności zmiennych w C dla AVR / AVR gcc? Zasięgi / widoczność między pętlą główną / funkcjami / includowanymi bibliotekami, czy nazwy zmiennych mogą się pokrywać, gdy brak widoczności / zasięgu, dobre praktyki, zalecenia, słowem wszystko w temacie. <br /><br />Zakładam, że nie było video poradnika skoncentrowanego na tym temacie, jeśli jest inaczej, dajcie znać proszę. <br /><br />Pozdrowienia z Gąsek (między Kołobrzegiem i Koszalinem).<br />Mariusz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7975">mes mariusz</a> — 3 lip 2019, o 22:24</p><hr />
]]></content>
</entry>
</feed>