Przeczytano 1 456 razy

Jaki język do Mikrokontrolerów?

Dzień dobry, zaczynam zabawę z programowaniem Mikrokontrolerów i zastanawiam się jakie jest najlepszy język do programowania, pod względem skąplikowania oraz wydajności?

Odpowiedzi (8)


    • Ostatnia wizyta:
    • W serwisie od:
    • 30 pytań
    • 1043 odpowiedzi
    • 98.7% pozytywnych ocen od użytkowników

    Odpowiedź oznaczona przez autora jako pomocna

    Na język najlepiej jest patrzeć jako na narzędzie, dzięki któremu będziesz w stanie zadać urządzeniu daną funkcjonalność, więc "najlepszy język" to pojęcie bardzo względne. Tą samą funkcjonalność jesteś w stanie zadać używając większości z nich. Wiadomo, że w jednym języku będzie to mniej, a w drugim bardziej skomplikowane. Więc nie ma to za bardzo znaczenia, którym się posłużysz. Najważniejsze jest to, żebyś wiedział w jaki sposób daną funkcję zrealizujesz. Jeśli to załapiesz, to poznanie składni każdego kolejnego języka powinno być dla ciebie jedynie formalnością.

    Najbardziej popularnymi językami, które stosuje się do programowania mikrokontrolerów są C i asembler. Później C++, python i java.
    Z powyższych najbardziej optymalnym i pozwalającym na użycie najmniejszej ilości zasobów jest asembler, ale niestety nie jest tak intuicyjny jak pozostałe. C jest dość uniwersalny, bo przy jego pomocy zaprogramujesz niemal każdy mikrokontroler. 

    Gdybym miał ci doradzić, to zabawę poleciłbym ci zacząć od C, C++ lub pythona. Ciekawym wyborem zwłaszcza dla początkującego jest język Arduino, który mówiąc najprościej jest czymś w rodzaju uproszczonego C. I jeśli np. znasz już podstawy programowania w C++ lub C, to nie powinien być on dla ciebie większym wyzwaniem. Niestety nie zaprogramujesz przy jego pomocy każdego mikroprocesora.


      • Ostatnia wizyta:
      • W serwisie od:
      • 82 pytań
      • 1249 odpowiedzi
      • 98.5% pozytywnych ocen od użytkowników

      @Zhandos62: A czy język C lub Python posiada jakieś ograniczenia, z którymi trudno sobie poradzić i stosuje się wtedy inny? Spotkałeś się kiedyś z takim przypadkiem?


        • Ostatnia wizyta:
        • W serwisie od:
        • 29 pytań
        • 377 odpowiedzi
        • 100% pozytywnych ocen od użytkowników

        @Pysiak: Co do wad pythona to skompiluje Ci on nawet program z błędem i da nieoczekiwany wynik. W C++ np. program z błędem się nie skompiluje. Ma on też ograniczoną wydajność, choć chyba dla mikroprocesorów nie powinno to mieć takiego znaczenia, ale dlatego większość gier np. nie jest w pythonie a raczej w C++.
        Co do języka C to jest on dość okrojony jeśli chodzi o wbudowane biblioteki. Również znalazłem informację, że jest on problematyczny jeśli chodzi o zarządzanie pamięcią.


        • Ostatnia wizyta:
        • W serwisie od:
        • 82 pytań
        • 1249 odpowiedzi
        • 98.5% pozytywnych ocen od użytkowników

        @Sandro1812: Czyli tak naprawdę nie ma złotego środka, trzeba uczyć się wszystkiego :)


        • Ostatnia wizyta:
        • W serwisie od:
        • 29 pytań
        • 377 odpowiedzi
        • 100% pozytywnych ocen od użytkowników

        @Pysiak: Jak się nauczysz C, to prawie jakbyś znał C++, a w tym jest większość aktualnie programowana.
        Python też jest atrakcyjny, bo jest o wiele łatwiejszy i ten sam program napiszesz w mniejszej ilości linijek kodu.
        Złoty środek? Faktycznie nie ma. Wszystko ma swoje wady i zalety. Wybór języka pewnie zależy od tego, co na czym Tobie zależy/ co chcesz programować :)


        • Ostatnia wizyta:
        • W serwisie od:
        • 30 pytań
        • 1043 odpowiedzi
        • 98.7% pozytywnych ocen od użytkowników

        @Pysiak: Nie powiedziałbym, że trzeba od razu znać każdy. Solidna znajomość jednego z nich już powinna dać ci bardzo dużo możliwości. ;)


        • Ostatnia wizyta:
        • W serwisie od:
        • 82 pytań
        • 1249 odpowiedzi
        • 98.5% pozytywnych ocen od użytkowników

        @Zhandos62: Prawdopodobnie nauczenie się jednego bardzo dobrze da o wiele więcej możliwości.


    • Ostatnia wizyta:
    • W serwisie od:
    • 50 pytań
    • 793 odpowiedzi
    • 99.7% pozytywnych ocen od użytkowników

    hmm... który jest najbardziej skomplikowany, to nie wiem. Może Forth albo Fortran ;) Ale to też mało popularne języki. 
    A wydajnośc, to chyba język maszynowy daje największe możliwości, choć chyba nie chciałbyś w asemblerze pisać dużych programów.
    W mojej ocenie "C" to podstawa i od tego cała reszta. 
    Choć nie jest to najłatwiejszy język, to najbardziej uniwersalny.
    Na początek fajne są Arduino i kiedyś popularny Bascom. Można je opanować w jeden, dwa dni. Oczywiście biegłość wymaga sporo więcej czasu.
    Ich wadą jest to, że nabywa się złych nawyków, dlatego polecam zaczynać od C. 
    To klasyka, bardzo uniwersalna.

Czytaj także:

Jak zaprogramować mikrokontroler, żeby sterował układem mechanicznym?
Społeczność

Jak zaprogramować mikrokontroler, żeby sterował układem m

Jak zaprogramować mikrokontroler, żeby sterował układem mechaniczny

Więcej
Właściwie napięcie na wejściu ADC mikrokontrolera. Jak?
Społeczność

Właściwie napięcie na wejściu ADC mikrokontrolera. Jak?

Zbudowałem prosty, klasyczny układ pomiaru napięcia przez ADC mikro

Więcej
Niedziałający mikrokontroler
Społeczność

Niedziałający mikrokontroler

Cześć. Niedawno zakupiłem zestaw chińskiego Arduino z aliexpress dl

Więcej
Dzwonek do domu – jaki wybrać i jak go podłączyć?
Blog

Dzwonek do domu – jaki wybrać i jak go podłączyć?

Jaki zasięg mają bezprzewodowe dzwonki do drzwi? Przycisk dzwonkowy

Więcej
Aktualny system normalizacji w Polsce w obszarze elektryki
Blog

Aktualny system normalizacji w Polsce w obszarze elektryk

W środowisku elektryków skupionych w Stowarzyszeniu Elektryków Pols

Więcej
Jaki zasilacz do karty graficznej Nvidia z serii RTX?
Blog

Jaki zasilacz do karty graficznej Nvidia z serii RTX?

Wybór odpowiedniego zasilacza do karty graficznej powinien opierać

Więcej