Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Programowanie mikrokontrolerów AVR

marek2012r 20 Kwi 2015 14:28 1035 10
  • #1 20 Kwi 2015 14:28
    marek2012r
    Poziom 6  

    Witam. Ostatnio zaciekawił mnie temat programowania mikrokontrolerów. Poczytałem trochę o tym, i dowiedziałem się, że najlepszym językiem do ich programowania jest język C. Przez ostatni miesiąc nauczyłem się już języka C, napisałem kilka aplikacji w komputerze, ale nie wiem jak język C połączyć z AVR. Moje pytanie brzmi czy mógłby mi ktoś wytłumaczyć skąd i jak nauczyć się programowania uC? Z góry dziękuję za odpowiedź.

    0 10
  • #3 20 Kwi 2015 14:42
    marek2012r
    Poziom 6  

    Te filmiki już oglądałem i trochę się z nich dowiedziałem na temat podłączania pod programator i ustawianie portów jako wejść/ wyjść, a chodzi mi bardziej o sam język programowania.

    0
  • #4 20 Kwi 2015 14:53
    nasty_photon
    Poziom 22  

    marek2012r napisał:
    Te filmiki już oglądałem i trochę się z nich dowiedziałem na temat podłączania pod programator , i ustawianie portów jako wejść/wyjść a chodzi mi bardziej o sam język programowania.


    Tutaj masz środowisko: http://winavr.sourceforge.net/
    ściągnij z sieci jakiś przykładowy projekt w C na AVR i zobacz jak kod wygląda
    Prócz znajomości składni C trzeba znać rejestry i architekturę uC - aby ustawić timery, przetworniki ADC itp. To wszystko jest w dokumentacji.

    0
  • #5 20 Kwi 2015 15:52
    marek2012r
    Poziom 6  

    Czyli teraz wystarczy tylko że poczytam dokumentacje mikrokontrolera i poprzez zmiane poszczególnych bitów rejestrów i operatorów bitowych moge już praktycznie zacząć programować? A jeszcze mam takie pytanie odnoście bibliotek dla AVR czy są one dokładnie opisane co i jaka funkcja robi?

    0
  • #6 20 Kwi 2015 18:28
    Robo24
    Poziom 10  

    Teoretycznie tak, w praktyce zaopatrz się w procesor, płytkę stykową i przejrzyj poradniki w sieci, na AVR dużo rzeczy pisze się samemu a nie używa bibliotek. Zazwyczaj są słabo opisane ale masz wgląd do ich kodu co pozwala na ich stosunkowo szybką analizę i zmianę w razie potrzeby ;) jeśli nie masz kontaktu z elektroniką to polecam Ardurino. Tu nadal używasz AVR lecz "zwalnia" Cię to z rozumienia jak coś działa (rejestry, jak i peryferia), składasz, podpinasz bibliotekę i ma działać kosztem szybkości i objętości pliku wynikowego.
    zaczynałem od tego kursu: mirekk36.blogspot.com

    3
  • #7 20 Kwi 2015 19:18
    marek2012r
    Poziom 6  

    Arduino mnie nie za bardzo by satysfakcjonowało. Chciałbym się nauczyć programować AVR lub ARM żeby później robić jakieś bardziej rozbudowane układy a Arduino jednak zajmuje sporo miejsca. Jeżeli chodzi o elektronikę to jestem w technikum elektrycznym i mam taki przedmiot jak Elektrotechnika i elektronika już drugi rok więc pojęcia trochę o tym mam.

    1
  • #8 21 Kwi 2015 09:35
    Marvinn8686
    Poziom 20  

    Jeszcze http://mikrokontrolery.blogspot.com/
    Producent uC dostarcza karty katalogowe oraz manuale do kontrolera gdzie są opisane jego wyprowadzenia, rejestry oraz układy peryferyjne. Zazwyczaj też dostarcza noty aplikacyjne najpopularniejszych zastosowań (używanie timerów, komunikacja, itp.)

    0
  • #9 21 Kwi 2015 10:45
    tomekm33
    Poziom 22  

    Na pewno mogę polecić dwie książki związane z C i programowaniem mikrokontrolerów (zresztą polecałem je na swoim blogu w artykule "Książki o elektronice dla początkujących"), są to:

    - „Mikrokontrolery AVR. Język C – podstawy programowania” Mirosław Kardaś
    - „Język C. Szkoła programowania” Stephen Prata

    Pierwsza dotyczy języka C i programowania mikrokontrolerów sensu stricto, druga natomiast to "cegiełka" o samym języku C. Warto do nich zajrzeć.

    2
  • #10 21 Kwi 2015 16:21
    dondu
    Moderator Mikrokontrolery Projektowanie

    Książek jest znacznie więcej, znacznie lepszych i w znacznie niższych cenach (w wersji eBook nawet -50%):
    http://mikrokontrolery.blogspot.com/p/ksiazki-dla-ciebie.html

    Porównując autorów, patrz na zawartość, przykładowe rozdziały i cenę, by nie kupować wodolejstwa w kosmicznych cenach.

    Marvinn8686 napisał:

    a w szczególności kurs C z kompilatorem online: http://mikrokontrolery.blogspot.com/2011/02/kurs-jezyka-c-spis-tresci.html
    oraz wstęp do AVR: http://mikrokontrolery.blogspot.com/2011/03/drzaskowy-pamietnik-wstep.html


    nasty_photon napisał:
    Tutaj masz środowisko: http://winavr.sourceforge.net/

    To baaardzo przestarzałe środowisko.

    Stosować należy oryginalne Atmel Studio ponieważ posiada wszystko co jest niezbędne do programowania mikrokontrolerów AVR a w szczególności symulator: http://mikrokontrolery.blogspot.com/2011/04/atmel-studio-spis-tresci.html

    Jeśli natomiast masz jakiś leciwy komputer to należy zastosować także oryginalne Atmela AVR Studio, które także posiada symulator.

    -1
  • #11 21 Kwi 2015 17:26
    Intre
    Poziom 10  

    Kolego marek2012r ja bym Ci polecił drogę jaką ja poszedłem i uważam że była dobra i optymalna bo teraz sobie sam bez większych problemów pisze kody w C na mikrokontrolery.

    Na początku bym zaczął od książki

    AVR i ARM7. Programowanie mikrokontrolerów dla każdego Paweł Borkowski
    Link

    Potem zapoznał się z książkami i blogiem Mirosława Kardasia:
    Link

    MIKROKONTROLERY AVR JĘZYK C - PODSTAWY PROGRAMOWANIA
    Link

    Jak już ten w/w materiał byś przerobił to proponuje się zabrać za bardziej zaawansowaną literaturę:

    JĘZYK C PASJA PROGRAMOWANIA MIKROKONTROLERÓW 8-BITOWYCH WYDANIE II
    Link

    i potem jak to ogarniesz to jako uzupełnienie wiedzy książki Tomasza Francuza:

    Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji. Wydanie II

    Link

    AVR. Układy peryferyjne
    Link

    I finalnie jako wg. mnie najtrudniejsza uzupełniająca m.in. o wiedzę z asemblera książka:

    Andrzej Witkowski
    Mikrokontrolery AVR programowanie w języku C przykłady zastosowań;
    Link

    I ta kolejność wg. mnie jest prawidłowa by dobrze zgłębić i w miarę szybko i przyjemnie poznać wiedzę z zakresu programowania mikrokontrolerów. W innej kolejności uzyskasz efekt ten sam ale jest to wg. mnie zdecydowanie trudniej, by nie rzec droga przez mękę. No ale oczywiście jest to moje zdanie ktoś inny może się z nim nie zgodzić. Ja to pisze z punktu widzenia osoby początkującej która sama nie dawno zaczęła.

    A co do środowiska to bym Ci polecił oczywiście najnowszego atmel toolchain oraz Eclipse z wtyczką do AVR - tutaj więcej informacji:
    Link Zdecydowanie wg. mnie najbardziej przyjemne i wygodne w obsłudze. A symulator to Ci sie na wiele nie zda jak jesteś początkujący, lepsza jest 1 - zwykła dioda która załatwia wszystko :) szczegóły się dowiesz w/w przeze mnie książkach i poradnikach.

    Moderowany przez dondu:

    Symulator kolego jest podstawą każdego początkującego programisty AVR. Takie opinie jak Twoja wygłaszają Ci co nie wykorzystują tego narządza, i nie mają pojęcia jak bardzo taki symulator oszczędza czas i przyspiesza naukę oraz znajdowanie błędów w programach nie tylko początkujących.

    Dlatego należy używać (w szczególności początkujący) oryginalne narzędzia Atmela (Atmel Studio), które zawierają symulator, a nie Eclipse, który go nie ma.

    1
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo