tag:blogger.com,1999:blog-3960927205450249158.post5676744804724286122..comments2024-03-18T21:59:31.887+01:00Comments on mikrokontrolery avr język c, poradniki, kursy video - eagle: STRUKTURY w C - wyjaśnijmy sobie dokładnie podstawymirekk36http://www.blogger.com/profile/11690797724225993397noreply@blogger.comBlogger25125tag:blogger.com,1999:blog-3960927205450249158.post-22896003616583666642018-01-19T11:21:03.161+01:002018-01-19T11:21:03.161+01:00typedef to ZUO bo znakomicie utrudnia zrozumienie ...typedef to ZUO bo znakomicie utrudnia zrozumienie programu. A już szczególnie paskudny jest typedef wskaźnika.<br />typedef struct {<br /> int pole;<br /> int orne;<br />} *PTR2PB;<br /><br />PTR2PB pb;<br /><br />Brrrrrrr.... :-(Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-41312806602572456432018-01-04T22:52:02.749+01:002018-01-04T22:52:02.749+01:00Dopiero zaczynam naukę C na AVR-ów i jak dla mnie ...Dopiero zaczynam naukę C na AVR-ów i jak dla mnie artykuł rewelacja, super uzupełnienie do książki. Pisz Mistrzu tak dalej.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-86142269060098883572017-03-17T20:19:22.591+01:002017-03-17T20:19:22.591+01:00oczywiście nie brakuje słowa struct w miejscu twoi...oczywiście nie brakuje słowa struct w miejscu twoich gwiazdek ;)mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-63414703784109391432017-03-17T20:18:55.728+01:002017-03-17T20:18:55.728+01:00No sorki ale skoro definiujemy nowy typ TIMIONA to...No sorki ale skoro definiujemy nowy typ TIMIONA to po jakiego grzyba pisać struct ? Coś kolega albo przeoczył słówko typedef, albo nie wie co ono znaczy ? ... albo nie wiem co ...mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-87395912040698265272017-03-17T20:16:08.918+01:002017-03-17T20:16:08.918+01:00Witam,
mam pytanie czy w tym fragmencie, w miejscu...Witam,<br />mam pytanie czy w tym fragmencie, w miejscu, które oznaczyłem gwiazdkami nie brakuje słówka "struct"?:<br /><br />"<br />typedef struct IMIONA {<br /> uint8_t ala;<br /> uint8_t ola;<br />} TIMIONA;<br /><br />Widzisz? dodałem za nawiasem klamrowym skróconą nazwę "TIMIONA", musi ona być różna od jawnej nazwy struktury, w tym przypadku "IMIONA". I teraz UWAGA! .... (najlepsze nadchodzi) ;) ... Zobacz jak teraz może wyglądać w kodzie programu DEFINICJA nowej zmiennej tego typu:<br /><br />**** TIMIONA imiona;<br />"Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-27197226803273613412015-12-03T20:48:37.127+01:002015-12-03T20:48:37.127+01:00panie kolego w języku C definicje zmiennych umiesz...panie kolego w języku C definicje zmiennych umieszcza się w plikach *.c a nie to co ty tu planujesz w pliku *. chcesz utworzyć definicję zmiennej tego typu strukturalnego.<br /><br />reasumując:<br /><br />typedef struct {<br />} PIDTYPE;<br /><br />TAKĄ definicję TYPU (uważaj - definicję TYPU a nie definicję zmiennej!) umieszczasz w swoim pliku *.h !!!<br /><br />taką DEFINICJĘ zmiennej:<br /><br />PIDTYPE nowa_struktura;<br /><br />umieszczasz w swoim pliku *.c<br /><br />i teraz uważaj pan jeszcze raz!!! .... <br /><br />zaś DEKLARACJĘ zmiennej - taką:<br /><br />extern PIDTYPE nowa_struktura;<br /><br />umieszczasz w swoim pliku func.h<br /><br />jasne ? (czyli zarówno DEFINICJA TYPU jak i DEKLARACJA zmiennej siedzą w *.h a tylko DEFINICJA zmiennej w *.c) i QNIECmirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-85799998168624824382015-12-03T19:33:51.302+01:002015-12-03T19:33:51.302+01:00Jak zwykle artykuł na najwyższym poziome - wszystk...Jak zwykle artykuł na najwyższym poziome - wszystko jasno i przystępnie!<br />Mam jednak takie pytanie. Tworzę program, którego projekt chciałbym podzielić na następujące pliki - main.c - główny plik programu, func.c, func.h - definicje i deklaracje funkcji, macro.h - wszelkie makra, var.h - wszelkie zmienne. Teraz w func.c chciałbym napisać funkcję, do której chcę przekazać wskaźnik na strukturę, o tak:<br />void PID_control(PIDTYPE * str)<br />W którym pliku i w jaki sposób powinienem zdefiniować nowy typ PIDTYPE? Czy powinno to wyglądać, tak?<br />typedef struct PIDTYPE{<br />};<br />PID TYPE nowa_struktura;<br /><br />Chciałbym umieścić definicję i deklarację w pliku var.h, ale tak żebym mógł stworzyć funkcję wykorzystująca ten typ w pliku func.c.<br /><br />Mam nadzieję, że dobrze wyjaśniłem mój problem. Generalnie chodzi mi o zachowanie maksymalnej przejrzystości i porządku w programie.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-13996372539415968762015-06-03T03:02:04.028+02:002015-06-03T03:02:04.028+02:00Gratuluje i dziękuje, świetny artykuł :)Gratuluje i dziękuje, świetny artykuł :)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-46909555498502215852013-12-02T14:51:41.137+01:002013-12-02T14:51:41.137+01:00Dzięki jesteś Wielki :)Dzięki jesteś Wielki :)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-31377269728858917202013-12-02T12:34:38.786+01:002013-12-02T12:34:38.786+01:00A skąd ci przyszło do głowy wpisywać nazwy element...A skąd ci przyszło do głowy wpisywać nazwy elementów tablicy no coś ty ? tak się nigdy nie robi<br />struct {<br /> uint8_t a;<br /> uint8_t b;<br /> uint8_t c;<br />} TTAB;<br /><br />TTAB tab[2] = {<br /><br /> {2,3,4}, // struktura / element 1 <br /> {5,8,1} // struktura / element 2<br /><br />};mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-26442258498547760382013-12-02T12:28:32.628+01:002013-12-02T12:28:32.628+01:00jak uzupełnić tabele z typem strukturalnym nie wyp...jak uzupełnić tabele z typem strukturalnym nie wypisując nazwę tabeli[x].element struktury. Tylko na przykład<br />tabela[x]={el.st1, el.st2, ...}.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-78153869314318440182013-11-27T21:55:14.398+01:002013-11-27T21:55:14.398+01:00Ale co to znaczy dla ciebie prostszy sposób ?
Jeś...Ale co to znaczy dla ciebie prostszy sposób ?<br /><br />Jeśli chcesz mieć w każdym polu tablicy struktur (a mam nadzieję że miałeś na myśli taką np definicję)<br /><br />T_ZBIOR zbior[ n ];<br /><br />i każde pole każdej struktury w tej tablicy ma mieć inne wartości (unikalne) to doprecyzuj co masz na myśli pisząc "prostszy sposób" ?mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-14317692042141857152013-11-27T21:33:28.110+01:002013-11-27T21:33:28.110+01:00W jaki sposób można zapisać dane do tabeli z struk...W jaki sposób można zapisać dane do tabeli z strukturą,<br /><br /><br />//struktura<br />typedef struct {<br /> uint8_t a;<br /> uint8_t b;<br /> uint8_t c;<br /> uint8_t d;<br />}T_ZBIOR;<br /><br />//przykładowe dane w strukturze<br /> zbior[0].a=a;<br /> zbior[0].b=b;<br /> zbior[0].c=a+b;<br /> zbior[0].d=156;<br /><br />czy jest jakiś prostszy sposób uzupełnienia tabeli, niż przypisując każdy element struktury z osobna, jak to jest zrobione wyżej.<br /><br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-73506977578433482422013-11-21T09:14:58.961+01:002013-11-21T09:14:58.961+01:00Tak skorzystaj w *.h z możliwości utworzenia noweg...Tak skorzystaj w *.h z możliwości utworzenia nowego typu za pomocą typedef. Czyli to o czym piszę na samym końcu artykułu. Potem taki plik *.h możesz dołączać do różnych plików *.c dzięki czemu zawsze będzie on widoczny. I tak samo możesz przez pliki *.h rozprzestrzeniać już samą strukturę poprzez jej deklarację ze słówkiem extern. Dokładnie tak samo jak to się dzieje ze zmiennymi. <br /><br />Ciężko to tak opisać tu w odpowiedzi na blogu, jak coś to wpadnij na nasze przyjazne forum (zpraszam)<br /><br />www.forum.atnel.pl<br /><br />to omówimy to na przykładzie - albo zajrzyj do książki:<br /><br />http://atnel.pl/mikrokontrolery-avr-jezyk-c.html<br /><br />jeśli akurat ją posiadasz i zobacz jak tam opisuję to w przypadku zwykłych zmiennych.mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-80371705159750746342013-11-21T09:07:36.101+01:002013-11-21T09:07:36.101+01:00Rewelacyjny artykuł. Czy możesz mi napisać jak zad...Rewelacyjny artykuł. Czy możesz mi napisać jak zadeklarować taką strukturę w plik.h jako extern by mieć do niej dostęp globalny.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-66684451935139197092013-11-10T01:42:55.458+01:002013-11-10T01:42:55.458+01:00ależ wszystko jest i to na tym blogu ;) ... trzeba...ależ wszystko jest i to na tym blogu ;) ... trzeba troszkę poszperać w kąciku C<br /><br />np:<br /><br />http://mirekk36.blogspot.com/2012/12/wskazniki-struktury-callbacki-jazda-bez.htmlmirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-75674388292522395092013-11-10T00:34:27.174+01:002013-11-10T00:34:27.174+01:00Witam,
Fajny artykuł. Mógłby Pan jeszcze dodać po...Witam,<br /><br />Fajny artykuł. Mógłby Pan jeszcze dodać połączenie struktur z funkcjami, gdy funkcja przyjmuje jako parametr strukture.<br /><br />Jeszcze zastanawia mnie użycie wskaźnika, gdy jest w środku struktury.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-40224734300721965092013-07-24T11:44:38.695+02:002013-07-24T11:44:38.695+02:00Jest chyba taki widget, który zamienia artykuł z B...Jest chyba taki widget, który zamienia artykuł z Bloga na pdf i wysyła go na maila. Tylko nie bardzo widzę w tym sens.Tomekhttps://www.blogger.com/profile/17013975210688486444noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-71484624435121923472013-07-24T10:35:46.123+02:002013-07-24T10:35:46.123+02:00Pomyślę o tym Pomyślę o tym mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-42937918193486064152013-07-24T10:03:59.069+02:002013-07-24T10:03:59.069+02:00czy istnieje możliwość aby Pan, te artykuły, które...czy istnieje możliwość aby Pan, te artykuły, które publikuje, udostępniał także w formacie pdf do pobrania?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-9962297013798767612013-07-21T17:16:12.730+02:002013-07-21T17:16:12.730+02:00Zapamiętam ;) Człowiek uczy się całe życie ;)Zapamiętam ;) Człowiek uczy się całe życie ;)mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-54022871251514242342013-07-21T16:27:59.242+02:002013-07-21T16:27:59.242+02:00Widzę :) W razie co zawsze służę pomocą.Widzę :) W razie co zawsze służę pomocą.Tomekhttps://www.blogger.com/profile/17013975210688486444noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-69859676786177959442013-07-21T11:59:20.080+02:002013-07-21T11:59:20.080+02:00Tomek dziękuję ci BARDZO! ;) zrobiłem wg tej metod...Tomek dziękuję ci BARDZO! ;) zrobiłem wg tej metody, którą poleciłeś i zadziałało .... widzisz? ... taki ze mnie html-owiec jak .... no właśnie ;)<br /><br />Dzięki za cenną poradę.mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-90528854982267340242013-07-17T18:15:19.451+02:002013-07-17T18:15:19.451+02:00Spróbuj sobie na blogu w tekście wstawić znak &...Spróbuj sobie na blogu w tekście wstawić znak & i zobacz co się stanie ? ;) to znak formatujący tekst i się rozjeżdża<br /><br />oczywiście że chodzi o <br /><br />imiona1.zbior_imion = &imiona2;<br /><br />tutaj nie wiem czy się rozjedzie tekst jak to napiszę - może nie - aobaczymy<br /><br />znak AND (amperstand) to przecież operator pobierania adresu w Cmirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-20212270368432690242013-07-17T17:52:39.815+02:002013-07-17T17:52:39.815+02:00Co oznacza ta linijka imiona1.zbior_imion = (znak ...Co oznacza ta linijka imiona1.zbior_imion = (znak AND - amperstand)imiona2;? Anonymousnoreply@blogger.com