Koszyk Twój koszyk jest pusty ...
wyszukiwanie zaawansowane
Strona główna1 » Programowanie AVR w C2 » Mikrokontrolery AVR i język C

Mikrokontrolery AVR i język C

Data dodania: 13-10-2018

Dlaczego mikrokontrolery AVR ?Mikrokontrolery atmega328p, pic18f, msp430, stm32f103

Obecnie bardzo popularne stały się układy oparte na rdzeniu ARM choćby bogata rodzina układów STM32 firmy STMicroelectronics, czy rodzina układów LPC firmy NXP Semiconductors. Dlaczego nie rozpocząć nauki od razu od takiego zaawansowanego układu ? Odpowiedź jest dosyć prosta - na AVR będzie łatwiej opanować podstawy.

Chcąc zrozumieć mechanizmy działania mikrokontrolerów najlepiej zacząć od układów mniej skomplikowanych a takimi w stosunku do ARM są właśnie mikrokontrolery AVR. Oferują wiele identycznie działających funkcji ale ich konfiguracja i zastosowanie są o wiele prostsze w implementacji programowej.

Na układach AVR zrozumiesz zasady dotyczące wykorzystania timerów, przerwań, portów wejścia-wyjścia, interfejsów komunikacyjnych itp. To samo znajdziesz później w innych procesorach. Ale przy układach AVR nie będzie trzeba myśleć o konfiguracji zasilania czy podłączaniu źródeł taktowania dla konkretnego bloku procesora. Nauka podstaw i zdobycie doświadczenia będzie łatwiejsze na AVR niż na innych mikrokontrolerach. Oczywiście przy odpowiednim poziomie samozaparcia wszystkiego można się nauczyć ale po co od razu skakać na głęboką wodę skoro można rozpocząć naukę o wiele łatwiej i przyjemniej.

Rozumiejąc istotę danej funkcji sprzętowej bez problemu odnajdziesz się w nowszych procesorach niezależnie czy to będę ARM'y czy układy, które dopiero zostaną stworzone. Zdobędziesz pewne wyczucie w tej dziedzinie elektroniki a to pozwoli Ci szybciej poznawać nowe rozwiązania. To co jest pewne to fakt, że nauka programowania mikrokontrolerów AVR nie będzie stratą czasu. Wręcz przeciwnie, będzie najlepszą drogą do zrozumienia całego świata elektroniki mikroprocesorowej.

Oprócz tego rodzina mikrokontrolerów AVR dostarcza naprawdę wielu ciekawych i przydatnych rozwiązań. Te układy pomimo silnej konkurencji na rynku nadal są powszechnie stosowane i nadal rozwijane. Świadczą o tym nowe wersje układów pojawiające się w sprzedaży. Układy AVR występują w wielu wykonaniach oferując całą gamę przydatnych peryferiów. Siła mikrokontrolera to nie tylko wysoka częstotliwość taktowania ale również funkcje sprzętowe jakie zapewnia.


Dlaczego uczyć się programować w języku C a nie np. w Bascom czy Arduino ?

Tutaj istotne są możliwości jakie otwiera dany język programowania.
Każdy producent mikrokontrolerów dostarcza kompilator języka C dla swojego produktu. Bardzo często publikuje przykłady programów właśnie w tym języku. Nie ma dzisiaj innego języka programowania, który byłby tak powszechny w świecie mikrokontrolerów jak język C. Programy napisane w C można przełożyć na dowolny mikrokontroler czego nie da się powiedzieć o Arduino czy Bascomie.
I to co najważniejsze, język C pozwoli Ci wykorzystać w 100% możliwości sprzętowe danego mikrokontrolera.

Umiejąc programować w języku C możesz dobierać mikroprocesor pod względem potrzeb sprzętowych (peryferiów) nie martwiąc się o możliwość jego późniejszego zaprogramowania. A jest w czym wybierać bo rodzin mikrokontrolerów jest cała masa. Te najbardziej znane to oczywiście STM32 (STMicroelectronics), LPC (NXP Semiconductors), MSP430 (Texas Instruments), MC9S08(Freescale), PIC (Microchip). Wymienione układy różnią się szybkością, poborem mocy, odpornością na zakłócenia i oczywiście peryferiami. Ale wszystkie zaprogramujesz w języku C natomiast znajomość Bascom czy Arduino na niewiele się tutaj zdadzą.


Płytki stykowe i moduły.

Przykłady przedstawione w kolejnych artykułach będziemy realizować na płytce stykowej łącząc ze sobą wybrane moduły. Lutownica nie będzie potrzebna. Ale od kabelków nie uciekniemy. Wykonywanie połączeń na płytkach stykowych wymaga nieco cierpliwości i precyzji. Niestety będzie ryzyko zrobienia błędu i uszkodzenia układu przez źle podłączony kabelek. Dlatego bardzo istotne jest dokładne wykonywanie połączeń zgodnie z przedstawionym schematem. Zanim podłączysz zasilanie zawsze dwa razy sprawdź połączenia w układzie.

Lcd zamontowany na płytce stykowej i sterowany z modułu atmega328p

Jeśli chcesz na początku skupić się wyłącznie na nauce programowania omijając potrzebę budowania układu polecam nasz
"Zestaw edukacyjny ATmega-8".

Znajdziesz tam lekcje, które w sposób ciekawy wprowadzą Cię w podstawy programowania mikrokontrolera AVR.
W publikowanych na stronie artykułach nie będą powielane lekcje z zestawu. Zajmiemy się innymi elementami rozszerzając zakres tematyczny o obsługę serwomechanizmu, klawiatury, wyświetlacza LCD, układu RTC itp.

Prezentowane programy powstaną na bazie kompilatora  AVR8-GNU-TOOLCHAIN i będą tworzone w środowisku CodeBlocks tak samo jak przykłady omówione w "Zestawie edukacyjnym ATmega-8".

Zapraszam do zapoznania się z kolejnymi artykułami dotyczącymi programowania mikrokontrolerów AVR w języku C.

Andrzej Weidemann
AJAWe


Przejdź do strony głównej
Oprogramowanie sklepu shopGold.pl