Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jak zacząć pisać programy - AVRSTUDIO + WINAVR

16 Lip 2008 23:37 89767 74
  • Poziom 38  
    Na początek ściągamy i instalujemy AvrStudio ze strony atmel.com i WINAVR ze strony http://sourceforge.net/projects/winavr/

    Po instalacji jednego i drugiego uruchamiamy AvrStudio, wyskakuje okienko w którym wybieramy NewProject.
    W następnym oknie widzimy:

    Jak zacząć pisać programy - AVRSTUDIO + WINAVR

    Po kolei:
    Project Type - tu decydujemy czy będziemy pisać w C czy w ASM.
    Location - miejsce na nasz projekt
    ProjectName - Nazwa projektu
    Initial file: plik główny projektu.
    Dajemy next:)
    Jak zacząć pisać programy - AVRSTUDIO + WINAVR
    Tutaj mamy do wyboru dwie rzeczy - po lewej "platformę" debugującą i po prawej typ uC jaki będziemy obsługiwać - po lewej większość wybierze AvrSimulator (jak ktoś używa JTAGa to wie co to jest i jak tego używać więc tutaj też Sobie sam wtedy poradzi:) ).
    Po prawej np. Atmega8 (zależy od sprzętu:) ).

    I Finish.
    Mamy gotowy projekt.

    Teraz powinniśmy zobaczyć coś takiego:
    Jak zacząć pisać programy - AVRSTUDIO + WINAVR
    Oczywiście fragment kodu programu na środku został wpisany przeze mnie i jest to taki najbardziej podstawowy szkielet programu.

    Pozdrawiam Łukasz:)

    Ciąg dalszy mini-howto -> dodawanie dodatkowych plików *.c i *.h

    Więc po kolei w plikach *.c przyjęło się umieszczać jak w pliku main.c ciała funkcji, w plikach *.h nagłówki funkcji (prototypy), definicje etc...

    No to siup podstawowy projekt:
    Jak zacząć pisać programy - AVRSTUDIO + WINAVR
    Jak widać po lewej jest drzewko jeśli nie piszemy sami makefile'a MUSIMY tam dołączyć wszelkie pliki które mają być kompilowane.

    Jak powinien wyglądać podstawowy plik *.h

    Code:

    #ifndef _TEST_H
    #define _TEST_H

    int testowa_funkcja(void);

    #endif //_TEST_H


    Do niej przykładowy plik *.c
    Code:

    tutaj ew. includy jeśli potrzebne (np. avr/io.h) jeśli będziemy coś na rejestrach robić chociażby.

    int testowa_funkcja(void)
    {
    ciało funkcji;
    return wartość;
    }

    Tyle jeśli o pliki, teraz w pliku main.c (czy innym głównym projektu) musimy includować nagłówki z prototypami funkcji
    Czyli u nas #include "test.h".

    Jaka jest różnica między #include "coś" a #include <cos>, w "" umieszczamy NASZE cosie a w <> umieszczamy standardowe nagłówki.

    Pozdro:)

    Dość często , pojawia się pytanie typu:
    użytkownik jareks91 napisał:

    Czy mogbys podać dzialający przyklad ktory wyswietla flota uzywajac printf ? bo ja pisze cos takiego i mi nie dziala...
    Code:

    double a = 12.05;

    printf_P(PSTR("a(%%f)=%f\r\n"), a);


    wyświetla mi znak "?" czy ktos wie dlaczego?


    Odp: Dodać odpowiednie opcje do linkera.

    Jak zacząć pisać programy - AVRSTUDIO + WINAVR

    Gdyby ktoś miał słaby wzrok , to ... -Wl,-u,vfprintf,-lprintf_flt,-lm
  • Computer Controls
  • Poziom 13  
    Mam zainstalowane oba programy lecz w Avr Studio nie pokazuje mi AVR GCC w Project Type:(
  • Computer Controls
  • Poziom 38  
    A zainstalowałeś W takiej kolejności jak podałem?:>
    I NOWE WINAVR?:> (nie 2004 czy 2005;P)
  • Poziom 13  
    Tak. Jutro jeszcze raz wszystko zainstaluje i zobacze.
  • Poziom 13  
    Witam
    No świetnie Balu, lepiej trafić nie mogłeś, wpadłeś jak stary ujec z flaszeczką.
    Właśnie zaczynam naukę języka C, korzystam z kursu który był zamieszczony w EdW. Mam najnowszą wersję na dzień dzisiejszy programu WinAVR, i różni się troszkę od opisanego w kursie. Ale sądzę iż nie w tym problem. Po prostu nie umiem rozpocząć w ogóle pracy z tym programem, nie rozumiem konstrukcji drzewa danego projektu. Nie wiem jak to napisać, po prostu jak ma wyglądać folder z danym projektem, jak to ma być zapisane. Nie wiem, albo jestem taki tępy, albo już taki zmęczony.

    Pozdrawiam
  • Poziom 38  
    Hmmm mniej chaosu troszkę... czego nie rozumiesz?
    (Czy to ide jest na prawdę tak trudne?? Cieszcie się, że nie widzieliście MPLABa:P)
    :D

    Dodano po 30 [sekundy]:

    I co to jest ten ujec, bo nie wiem czy się cieszyć czy raportować:P
  • Poziom 13  
    Masz może ten kurs? To by ułatwiło troszkę sprawę.
    Mam oczywiście zainstalowany program, zrobione dwa skrypty wg. kursu.
    No i już tu zaczynają się schody. Robię mniej więcej to co pisze jak się zakłada nowy projekt, ale efekt jest troszkę inny. Z lewej strony programu w "projects" są trzy pliki a ja mam tylko jeden. Dodam że plik "makefile" mam skopiowany. tylko też nie wiem czy do dobrego folderu, bo w kursie są dwa foldery o tej samej nazwie. Tak mi się przynajmniej zdaje.
    Jak mnie Balu choć trocha zrozumiesz to będe happy
    Ida spać jutro zobacza czy ktoś coś mnie w ogóle zrozumiał

    Pozdrawiam

    Ujec to inaczej wujek.:D
  • Poziom 38  
    Po co Ci makefile, avrstudio sam generuje makefile.
    Nie nie mam tego kursu i nie chcę mieć...
    (No dobra mam, ale z tego kursu nadaje się do życia jedynie opis języka, a nie konfiguracja softu, bo jest pisana za czasów kiedy abvrstudio i winavr się nie łączyły tak miło:) )

    Pozdro.
  • Poziom 13  
    Zainstalowałem najpierw Avr Studio a potem WinAVR i nie pokazuje mi AVR GCC w Project Type. Próbowałem zresetować komputer i dalej nic.
  • Poziom 38  
    Hmm Ciekawe, wszystkim pokazuje:)
    Które AVRStudio, który WinAvr? Jaki system?
  • Poziom 13  
    AVRStudio 4.06
    WinAVR 20080610
    Windows XP professional
  • Poziom 38  
    Ściągnij NAJNOWSZE avrstudio...Ehh....

    Dodano po 16 [sekundy]:

    A najlepiej stare odinstaluj najpierw;]
  • Poziom 13  
    Ok. Już działa. A jak skompilować program i wrzucić na uC?
  • Poziom 38  
    Użyć guzika f1;] Bez przesady...

    Jak wrzucić? A jaki masz programator jak stk200/300 to ispprog lub ponyprog, jak stk500 to wybrać Tools-> ProgramAVR->Connect tam wybrać gdzie wpięty no i że to stk500:) A dalej już będzie logicznie:)

    Niech stracę jak skompilować:Menu Build-> Build... (lub f7) trudne nie?
  • Poziom 38  
    Złożyłeś najgorsze co się da - współczuję...
    Weź złóż minimum stk200/300 z lancos.com
  • Poziom 32  
    Albo dodaj te parę groszy i kup klona STK500 i będziesz od razu z avrstudio wrzucał.
  • Poziom 13  
    Już zamówiłem stk200/300 z internetu.
  • Poziom 13  
    Witam

    Balu napisał:
    Po co Ci makefile, avrstudio sam generuje makefile.
    Nie nie mam tego kursu i nie chcę mieć...
    (No dobra mam, ale z tego kursu nadaje się do życia jedynie opis języka, a nie konfiguracja softu, bo jest pisana za czasów kiedy abvrstudio i winavr się nie łączyły tak miło:) )

    Pozdro.


    No to teraz to ja już kompletnie nic nie kminia.
    To muszę mieć zainstalowane AVR studio i winAVR ?
    W WinAVR w "programer's notepad'dzie" pisze program, a avr studio go kompiluje, i programuje - dobrze myśla, czy już mi się popi...... konkretnie we łbie

    Pozdro
  • Poziom 32  
    Co d0 pisania programu masz wiele opcji:
    1. notepad z winavr
    2.avrstudio
    3.nawet zwykly notatnik, zapisujesz plik z rozszerzeniem .c

    Radze pisać w avrstudio bo będzie ci ładnie podświetlał składnię języka.

    Kompilacja:
    1. Piszesz program w avrstudio, klikasz compile a potem biuld
    2. Piszesz program w czym chcesz, robisz make'a, wpisujesz opdowiednie polecenie z konsoli

    Wgrywanie do uc:
    Kupiles stk200 wiec o wrzucaniu wsadu do uc z avrstudio zapomnij. Po skompilowaniu programu włączasz ponyproga, wybierasz plik o rozszerzeniu .hex z katalogu twojego projektu i klikasz write to flash lub cos podobnego.

    Teraz rozumiesz?
  • Poziom 38  
    Utul a na prawdę nie chciało Ci się kliknąć w zdjęcia w pierwszym topicu? :/
  • Poziom 13  
    Balu Klikałem na fotki. (a co tam niby jest?)

    dawid512 No chyba troszkę zaczynam czaić.

    Jutro odpale avr studio i zobacze co dalej. Czy dam rade to okiełzać :D

    Pozdro.
  • Poziom 38  
    Cytat:
    W WinAVR w "programer's notepad'dzie" pisze program, a avr studio go kompiluje, i programuje - dobrze myśla, czy już mi się popi...... konkretnie we łbie

    i ostatnie zdjęcie...
  • Poziom 14  
    Właściwie jeżeli używa się jedynie języka C
    i nie piszemy w Asemblerze i nie używamy
    symulatora, to AvrStudio jest zbędne.

    Programy w C można pisać w "programmers
    notepad'dzie i tam je również kompilować".
    Do programowania procków używam PonyProg'a
    i programatora STK-200.
  • Poziom 13  
    Witam ponownie

    Zainstalowałem AVR studio, napisałem pierwszy program z kursu R. Koopela. Prostszego już się nie da. Tylko wywala mi się błąd.
    O co tu chodzi, co zrobiłem żle?

    Jak zacząć pisać programy - AVRSTUDIO + WINAVR
  • Poziom 32  
    Jak byk pisze że nie masz winavr! Jak chcesz kompilować programy jeżeli nie masz kompilatora? Ściąg najnowsze winavr. Link masz na samej górze tematu.
  • Poziom 20  
    Witam. Jest napisane, że nie ma winavr, ale nie każdy zna angielski, więc ma prawo pytać co jest nie tak..
  • Poziom 38  
    Jak nie zna angielskiego i nie potrafi używać słownika, nie powinien brać się za programowanie czegokolwiek w jakimkolwiek języku, tak się składa szczęśliwie..(no dla Ciebie jak widać nie...), że KAŻDA NAJLEPSZA DOKUMENTACJA (czytaj nie tłumaczona - mniej pomyłek podczas tłumaczenia) JEST PO ANGIELSKU albo chińsku...przy czym tego ostatniego uczyć Ci się nie każe nitk stąd:>

    Ale Pomyśl przez chwilę, jeśli zrozumienie komunikatu pisanego BANALNYM językiem (każdy translator to łyknie od razu i da mocno zrozumiały komunikat po polsku) jest dla Ciebie problemem, co się stanie jak będziesz chciał użyć jakiejś rzeczy do której nie ma polskiego datasheeta (jest do dwóch atmeg... i w/g mnie daremny - a znam oba języki dość dobrze...a układów scalonych na świecie są dziesiątki tysięcy różnych...) więc... masz 3 opcje:
    1) Nauczyć się używać translatora...(to akurat uważam za najgorszą z opcji)
    2) Nauczyć się angielskiego technicznego (słownik w dłoń, technicznych słów jest na prawdę może ze 100...200) i to uważam za jedną z lepszych opcji...
    3) Dać Sobie spokój z programowaniem bo język stanowi dla Mnie problem nie do przejścia i nie chcę się męczyć ucząc się tego jakże trudnego i paskudnego angielskiego... W końcu internetu rozumieć też nie muszę...filmów po ang. też nie... bo i po co... no i to jest ta druga dobra opcja - zostaw to komuś kto zna/ma chęć nauczenia się / włożenia jakiejkolwiek pracy w Swoje hobby /.może przyszły sposób na życie?

    Reasumując...
    JAK MOŻNA UŻYWAĆ WINAVR JAK SIĘ GO NIE ZAINSTALOWAŁO NAWET???

    Jezu.

    Łukasz.

    P.S.
    RTFM:}
  • Poziom 32  
    Balu nie strasz tak bo kolega się całkiem zniechęci:P ale translatora użyć by mógł bo to nic nie kosztuje a przynajmniej wiedziałby co jest nie tak. Po za tym na samym początku tematu pisze że należy zainstalować avrstudio i winavr. Niektórzy są aż tak leniwi że nawet nie chce im się czytać tematu od początku tylko zasypują forum głupimi pytaniami na które odpowiedź znajdą w tym samym temacie.
  • Poziom 21  
    Cuda w AVRstudio... Mam pytanie kto mi wyjaśni to że podczas symulacji zmienną const on mi zmienia ??
    Dołączam zdjecie ekranu.

    Jak zacząć pisać programy - AVRSTUDIO + WINAVR

    w linii: TCNT_tempj = 256 - (31250/g_freq); zmienia mi bezpodstawnie zmienną PWM_on ktora jest const. Co się dzieje??

    Druga sprawa dlaczego nie mogę ogladnąć zmienną OCR_tempj, natomiast podobną zmienną TCNT_tempj mogę juz bez problemu.
    CZy ktoś to rozumie??