ATNEL tech-forum https://forum.atnel.pl/ |
|
Własne biblioteki, zasięg zmiennych, nazwy zmiennych https://forum.atnel.pl/topic22381.html |
Strona 1 z 1 |
Autor: | mes mariusz [ 3 lip 2019, o 22:24 ] |
Tytuł: | Własne biblioteki, zasięg zmiennych, nazwy zmiennych |
Witam. 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. Zakładam, że nie było video poradnika skoncentrowanego na tym temacie, jeśli jest inaczej, dajcie znać proszę. Pozdrowienia z Gąsek (między Kołobrzegiem i Koszalinem). Mariusz |
Autor: | mirekk36 [ 3 lip 2019, o 22:27 ] |
Tytuł: | Re: Własne biblioteki, zasięg zmiennych, nazwy zmiennych |
mes mariusz napisał(a): Zakładam, że nie było video poradnika skoncentrowanego na tym temacie, 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ć. |
Autor: | mes mariusz [ 3 lip 2019, o 22:35 ] |
Tytuł: | Re: Własne biblioteki, zasięg zmiennych, nazwy zmiennych |
Tyle wystarczy. Przypomnę sobie po powrocie. Dzięki. |
Autor: | mirekk36 [ 4 lip 2019, o 07:32 ] |
Tytuł: | Re: Własne biblioteki, zasięg zmiennych, nazwy zmiennych |
mes mariusz napisał(a): Tyle wystarczy. Przypomnę sobie po powrocie. Dzięki. A wtedy gdyby jeszcze było coś niejasne to śmiało tutaj dopytaj |
Autor: | mes mariusz [ 5 lip 2019, o 23:11 ] |
Tytuł: | Re: Własne biblioteki, zasięg zmiennych, nazwy zmiennych |
Tak zrobię. Przy okazji - już teraz zdradzę zaplecze swojego pytania. Kilka (naście?) lat temu (kiedy będąc "wolnym strzelcem" 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 -> https://serwis.avt.pl/manuals/AVT5252.pdf Po 10 latach sięgnąłem po nią, bo dzieciak zażyczył sobie alarmu do pokoju. Po wspomnianych 10 latach robię upgrade firmware-u 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. 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, "współdzielenie" zmiennej nie będzie miało złych następstw (a pamięć mikrokontrolera była wykorzystywana w miarę, na moje możliwości, optymalnie). 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. 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. PS. Jeśli zamieszczenie linku do .pdf-a koliduje z regulaminem, link usunę (dajcie znać proszę). Pozdrawiam Mariusz |
Autor: | mirekk36 [ 6 lip 2019, o 03:30 ] |
Tytuł: | Re: Własne biblioteki, zasięg zmiennych, nazwy zmiennych |
mes mariusz napisał(a): PS. Jeśli zamieszczenie linku do .pdf-a koliduje z regulaminem, Nie narusza a przy okazji ładna konstrukcja i dobry cel, żeby przerobić wszystko na C |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |