logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[C] dobry kurs dla początkujących

EBC41 24 Cze 2009 00:44 11145 18
  • #1 6695504
    EBC41
    Poziom 28  
    Hej,
    Mam taką sprawę. Otóż postanowiłem sobie że wolny czas podczas wakacji wykorzystam na zajęcie się programowaniem kontrolerów AVR w C (narazie pewnie tylko via emulator). Zależy mi na C bo mam z nim pewnie doświadczenie z platformy PC i bardzo mi ten język przypadł do gustu. Problem w tym że nie znam żadnego naprawdę dobrego kursu C dla uP Atmeli które prowadziły by od samych podstaw (widząc przykładowe listingi mam deja vu z Asemblera, nie rozumiem nic)
  • #2 6695517
    Balu
    Poziom 38  
    Via emulator to najgorszy pomysł jaki może byc.
    Nie ma żadnego dobrego kursu c dla avrów , zapomnij o kursie patrona, ewentualnie zajrzyj do EdW i tam kurs kolegi Koppel poczytaj, znośny:), acz też nie najnowszy
  • #3 6696086
    arrevalk
    Poziom 25  
    Ja mając wcześniej nieco czasu poświęconego na programowanie w C na PC uczyłem się programowania AVR z książki Jrosława Dolińskiego "Mikrokontrolery AVR" (teraz już nieco stara, omawia na przykładzie już wycofanego AT90S2313 ale zastąpił go kompatybilny ATTiny2313). Ładnie wprowadza w architekturę (połowa książki to jej omówienie) potem trochę przykładów.
  • #4 6696087
    Tomcio7
    Poziom 17  
    Elektronika dla Wszystkich Programowanie procesorów w języku C [PL] [ pdf]

    google :)
  • #6 6696367
    biesiad
    Poziom 2  
    Tutaj są podstawy bardzo przejżyście.

    Z drugiej strony warto od początku przyzwyczajać się do dokumentacji.
    Nawet w pedeefie można sobie ściągnąć i czytać do herbaty.
  • #7 6697511
    EBC41
    Poziom 28  
    a dlaczego taki emulator nie byłby dobrym rozwiązaniem? A jeżeli chodzi o samo C to jakoś nie mogę przełknąć tego jak np używać poszczególnych pinów czyli jak zmieniać na nich stan logiczny, traktować ich jako port szeregowy, wysyłać PWM z generatora czy obłsugiwać podłączony termometr etc..... Może to ze względu na brak systemu operacyjnego przez który trzeba wszystko programować samemu :(. Ostatnio oglądalem kod programu zrobionego przez mojego znajomego i szczerze poza samymi pętlami, instrukcjami warunkowymi i całą resztą z PCtowego C nic nie rozumiałem
  • #8 6699034
    Balu
    Poziom 38  
    Tobie nie jest potrzebny kurs C, Tobie jest potrzebny kurs assemblera i samotna nocka z datasheetem (możesz zabrać piwo i papier toaletowy:P) To pomoże...
    Cała reszta to odpowiednie dane w ramie czy też rejestrach, ot cała filozofia, a żeby wiedzieć w jakich rejestrach... no to fakt, problem, trzeba znać procesor:>
    D A T A S H EE T :)
  • #9 6699130
    wdogli
    Poziom 18  
    Hej.
    Moim skromnym zdaniem brakuje ci podstawowych podstaw. Biorąc pod uwagę powyższy fakt proponuję ci na początek "Mikrokontrolery dla Początkujących" Piotra Góreckiego. Tam masz na bazie attiny2313 wszystko wytłumaczone jak przysłowiowej "krowie na rowie" Co prawda ta książka nie bazuje na C# tylko na Bascomie ale dzięki niej poznasz budowę mikrokontrolera i dowiesz się przynajmniej po części co do czego służy i jak działa. Potem tylko od ciebie będzie zależało jak bardzo zgłębisz ten temat. Moim zdaniem przestawienie się na C# z Bascoma jest dziecinnie proste jeśli już kiedyś liznąłeś C#. Ja przynajmniej tak zaczynałem :)
    Pozdrawiam
  • #11 6699355
    janbernat
    Poziom 38  
    Wyobraź sobie na początek PC bez BIOS-a.
  • #12 6699388
    wdogli
    Poziom 18  
    Balu to może podasz jakieś sensowne źródło z którego się uczyć asm i jednocześnie poznawać od podstaw zasadę działania i budowę mikrokontrolerów.
    Pozdrawiam
  • #13 6699407
    arrevalk
    Poziom 25  
    @prezes_3lo
    bascom- stanowczo NIE!
    Szczególnie że już masz znajomość C. Teraz tylko poczytaj o rdzeniu. Reszta to czyste C. Bascom to ślepa uliczka, uczy złych przyzwyczajeń a na dodatek za kompilator trzeba płacić (WinAVR + AVRStudio to darmowe rozwiązanie).
    Cytat:

    A jeżeli chodzi o samo C to jakoś nie mogę przełknąć tego jak np używać poszczególnych pinów czyli jak zmieniać na nich stan logiczny, traktować ich jako port szeregowy, wysyłać PWM z generatora czy obłsugiwać podłączony termometr

    To wszystko opisane jest w datasheecie dla danego procka. Wszystko oparte jest na zapisie lub odczycie odpowednich rejestrów. A rejestry obsługujesz jak zmienne.
  • #15 6699925
    dawid512
    Poziom 32  
    Ja bym sugerował abyś najpierw zadał sobie pytanie: do jakich celów będzie ci służyło programowanie. Wg. mnie uczenie się asm do pisania programów typu zegarek, termometr, woltomierz itp mija się z celem. Jeżeli programowanie to czyste hobby to po co bawić się w asm? Anyway jak znasz asm to nic Ci później nie przystawi :)
  • #17 6700981
    EBC41
    Poziom 28  
    Jeżeli chodzi o język programowania to napewno zostane przy C. Asm jest dla mnie zbyt trudny do pojęcia, a Bascom jest zbyt uproszczony (no w końcu dialekt Basica) żeby się nim na dłuższą metę zajmować. Pierwszy projekt nad którym myślałem żeby go wykonać to sterowanie farelką (przez przekaźnik, albo triak oczywiście) w zależności od temperatury i wyświetlanie tego na jakimś prostym wyświetlaczu plus wysyłanie przez RS.....
  • #18 6703143
    janbernat
    Poziom 38  
    To może wyjść drogo-ale można.
    Kup książkę P. Góreckiego "Mikrokontrolery dla początkujących" i skoro nie chcesz znać Bascoma wyrwij z niej kartki z napisem "technikalia" i tylko te przeczytaj.
    Książkę R. Baranowskiego "Mikrokontrolery AVR ATtiny" i skoro nie chcesz znać asm to wyrwij początkową część do rozdziału 3. i tylko to przeczytaj.
    Jeszcze jest tego samego autora "Mikrokontrolery AVR ATmega"
    Tu wyrwij część do rozdziału 4. i przeczytaj.
    Książki A. Witkowskiego "Mikrokontrolery AVR programowanie w języku C" nie musisz demolować-możesz przeczytać prawie całą(są wstawki asm-staraj się ich nie zauważać).
    J. Doliński też.
    Dwie ostatnie opisują starą wersję avrgcc i stare procesory.

    Dodano po 8 [minuty]:

    I w zasadzie- jaki kompilator C?
    avrgcc, codevision, Keil- o tych słyszałem-a pewnie są inne?
  • #19 6705333
    arrevalk
    Poziom 25  
    Keila dla AVR chyba niema. Zajmują się oni tylko ARM i pochodnymi '51.
    Są jeszcze IAR (to całe ide jest, ograniczenie do 32kB, możliwość podłączenia gcc jako kompilatora wtedy ograniczeń brak), CrossWorks (oparte na gcc, 30 dni darmowego triala bez ograniczeń, całkiem tania licencja do użytku domowego). Ale jak już pisałem wcześniej, dla AVR idealne jest rozwiązanie AVRStudio(ide) + WinAVR (gcc). Chociaż ostatnio przesiadłem sie na eclipse/netbeans bo moge w jednym ide trzymać projekty na kilka różnych rdzeni.
REKLAMA