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

[C] dobry kurs dla początkujących

24 Cze 2009 00:44 10761 18
  • 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)
  • Relpol przekaźniki
  • 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
  • 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.
  • Poziom 17  
    Elektronika dla Wszystkich Programowanie procesorów w języku C [PL] [ pdf]

    google :)
  • Relpol przekaźniki
  • 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.
  • 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
  • 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 :)
  • 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
  • Poziom 38  
    Nie C# a C, ew. cpp, to raz, dwa, tylko asm, żaden baskup na początek:>
  • Poziom 38  
    Wyobraź sobie na początek PC bez BIOS-a.
  • 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
  • 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.
  • Poziom 38  
    wdogli oczywiście, niejaski pan Baranski programowanie mikrokontrolerow AVr Atmega czy coś:)
  • 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 :)
  • Poziom 38  
    To nie chodzi o uczenie się asm,to chodzi o naukę zasady działania uC...

    A Asm to świetne hobby:P Nic nei daje większej satysfakcji niż grzebanie w czyichś binarkachXD
  • 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.....
  • 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?
  • 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.