Skocz do zawartości
Wloczykij555

Rozpoczęcie przygody od STM

Pomocna odpowiedź

Kłaniam się wszystkim,

Postanowiłem rozpocząć przygodę z uC od STM32 a pomijając Arduino. Tak mi zresztą doradziła osoba prowadząca konto Forbota na wykopie. Zakupiłem w tym celu zestaw z Botlandu (rozszerzony) wraz z płytką. 

Teraz zastanawiam się czy nie przestrzeliłem. Kurs STM32 zakłada już jakąś wiedzę z dziedziny programowania uC. Co powinienem przerobić z kursu Arduino, żeby cokolwiek wynieść z kursu o STM? A może w ogóle dokupić Arduino i najpierw je przerobić?

Udostępnij ten post


Link to post
Share on other sites

@Wloczykij555 witam na forum!

STM32 dają dużo więcej możliwości, acz faktycznie start może być trochę trudniejszy. Wiele osób zaczyna od czegoś prostszego. W przypadku STM32 możesz mieć trudności z poznaniem co do czego służy. Niemniej zrozumienie tematu jest możliwe i może spróbuj wykonać kurs i jeżeli uznasz, że jednak nie czujesz się w tym temacie za dobrze to spróbuj czegoś innego.

Arduino na pewno jest dużo prostsze. Dużą zaletą jest łatwe wejście - proste środowisko, dużo przykładów które wgrywasz w 3 kliknięciach.

Udostępnij ten post


Link to post
Share on other sites
3 godziny temu, Wloczykij555 napisał:

Kurs STM32 zakłada już jakąś wiedzę z dziedziny programowania uC.

A Arduino to nie? Jeśli natomiast chcesz jak dla Arduino, które też może być na STM32, to dla STM32 też możesz znaleźć przykłady, nawet na stronie STM, które kompilujesz i działają. Przykłady mogą być niebanalne np https://kamami.pl/wycofane-z-oferty/207978-stm32f429i-disco.html jest gra Snacke https://stm32.eu/2017/10/19/projekt-gra-snake-stm32f429i-disc1/ sterowana z klawiatury USB. Wypróbowałem, ładujesz projekt, kompilacja, wgranie i działa. Tak samo prosto jak na Arduino z AVR czy ESP tylko jakość "trochę" większa.

3 godziny temu, Wloczykij555 napisał:

Co powinienem przerobić z kursu Arduino, żeby cokolwiek wynieść z kursu o STM

Znajomość C. C++ niepotrzebne, bo 90% softu na uC pisze się w C. C++ spotkasz natomiast tam gdzie będzie Linux.

 

Przykład ze strony STM

Porównywać tego z Arduino nie ma sensu chyba, że uC jest wspomagany akceleratorem np FT800 ale to kosztuje i też ma ograniczenia np max 2000 obiektów.

Udostępnij ten post


Link to post
Share on other sites
6 minut temu, Elvis napisał:

Więc argument o 90% softu w C można spokojnie między bajki włożyć - no chyba że @RFM przytoczy jakieś sprawdzone statystyki, a nie tylko własne opinie.

Aby zrobić statystyki trzeba zapłacić. Opieram się o to co znajduje w internecie, choćby przykłady na stronie STM-a.

 

7 minut temu, Elvis napisał:

Zarówno w "świecie" Linuxa, jak i programowania mikrokontrolerów bez systemu operacyjnego jest miejsce zarówno dla języka C, jak i C++.

Na Z-80 można było używać tylko rozkazów 8080, jak kto woli więc nikt nikomu nie broni używać w Linx C.

Co do C++ na uC to mam mieszane uczucia. Trzeba byc ostrożnym z zaletami C++ np klasą String zwłaszcza gdy RAM jest relatywnie mało.

Udostępnij ten post


Link to post
Share on other sites

Dziękuję za zainteresowanie tematem.

Może doprecyzuje zatem - jestem po Automatyce i Robotyce (już parę lat) więc ogólnie temat elektroniki jak i uC nie jest mi obcy. 

Mam problem jedynie w skladni programu, generalnie z językiem C bo go po prostu nie znam czyli. Z tego co widzę kurs Arduino tłumaczy właśnie składnie C oraz takie dość powszechne zaatosowania uC jak sterowanie silniczkami. Kurs STM32 skupia się na nieco bardziej specyficznych przykładach (a może to tylko moje mylne wrażenie) oraz wychodzi z założenia że C jest już opanowane. 

 

 

Udostępnij ten post


Link to post
Share on other sites

Darmowe statystyki popularności języków są dostępne w sieci i co więcej są za darmo.

Język C++ jest używany w wielu projektach opartych o uC. Zarówno kilku poprzenich projektach, jak i w mojej aktualnej pracy C++ jest wykorzystywany do pisania aplikacji działającej bez systemu operacyjnego (albo raczej używającej jedynie RTOS-a) i jakoś nikomu to nie przeszkadza. Co ciekawe akurat po linuxem pracuję więcej w czystym C, sam system też w tym języku jest napisany - więc argumenty o C++ dla linuxa, a czystym C dla uC to absolutna bzdura - chociaż nie pierwsza wygłaszana przez tego użytkownika.

Jak chodzi o naukę, to zarówno C, jak i C++ są dobrymi kandydatami - chociaż ostatnio modne są zupełnie inne języki, więc można również pomyśleć o micropythonie, albo Rust.

@Wloczykij555 Skoro kupiłeś zestaw z STM32, to może zacznij od kursu stm32? Jak czegoś nie będziesz wiedzał, czy rozumiał zawsze możesz zapytać na forum, na pewno pomożemy. Arduino to fajna opcja, ale skoro masz już sprzęt to bez sensu kupować kolejny - zacznij, zobacz jak Ci się będzie tym bawiło, zawsze można, a nawet należy później kupić coś kolejnego. A czy to będzie Arduino, Raspberry Pi, czy zupełnie coś innego - to się okaże 🙂

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites
9 minut temu, Wloczykij555 napisał:

generalnie z językiem C bo go po prostu nie znam czyli.

W Internecie jest kilka bezpłatnych książek na temat C. Szukaj "Dla początkujących oraz średnio zaawansowanych programistów", "Język C - podstawy programowania", "Programowanie w C". Pliki za duże aby umieścić na tym forum. Jak nie znajdziesz książek to spróbuje książki udostępnić na serwerze.

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...