Skocz do zawartości

Kurs STM32L4 – #1 – wstęp, spis treści, dla kogo jest ten kurs


Komentator

Pomocna odpowiedź

Witam,

Fantastyczny kurs, nauczyłem się bardzo wiele. Kurs jest bardzo dobrze napisany i porusza zagadnienia które ciężko znaleźć w innych kursach dostępnych w Internecie. Zastanawiam się czy jest możliwa kontynuacja kursu która dotyczy kolejnych nieco bardziej zaawansowanych lub nowych peryferiów w rodzinie STM32F/STM32H/STM32G takich jak: CORDIC, FMAC, DFSDM, BDMA, MDMA, DMA2D, QuadSPI czy FSMC. 

W Internecie brakuje także dobrych kursów dotyczących debugowania czy szerszego wykorzystania CMSIS DSP. 

 

  • Lubię! 1
Link do komentarza
Share on other sites

@fonak witam na forum! Dziękuję za miłe słowa i docenienie tego kursu. Pozostała nam publikacja jeszcze jednej części (o 1-wire), ale faktycznie kurs powoli się kończy i można zacząć myśleć o jego kontynuacji - będziemy na pewno rozpytywać kursantów w wiadomościach prywatnych (lub publicznie), czy faktycznie są oni zainteresowani taką tematyką. Mamy kilka koncepcji na ewentualną kontynuację kursu, bo zagadnienie to jest tak rozległe, że pomysłów jest mnóstwo. Zobaczymy co da się zrobić, ale jeśli pojawiłaby się kontynuacja kursu to raczej dotyczyłaby dalej rodziny L4 - bo nawet na zestawie do tego kursu można wykonać jeszcze dziesiątki różnych ćwiczeń, które będą omawiały kolejne aspekty pracy z tymi mikrokontrolerami 🙂 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

(edytowany)

Nie wiem czy dobrze umieściłem. Jeśli nie proszę o przeniesienie. Kurs jest naprawdę świetny, Kupiłem sobie książkę z kursem bo nie lubię czytać z ekranu. Jestem już w połowie ale wydaje mi się że czegoś brakuje. Bardzo dobrze jest pokazana wstępna konfiguracja STM-a ale nigdzie nie zauważyłem możliwości zmiany ustawień w trakcie wykonywania programu co jest często niezbędna. W PDF-ie opisującym bibliotekę HAL znalazłem funkcje uruchomienia modułu czy jego zatrzymania np. HAL_TIM_Base_Start oraz HAL_TIM_Base_Stop i wiele podobnych ale np. zmiany prescalera już nie. To samo z przerwaniami. Czasem niezbędne jest wyłączenie przerwań albo np. zmiany zbocza. Czy aby to zrobić trzeba się odwoływać do rejestrów. W STM jestem początkujący ale programuję mikrokontrolery od lat, co prawda tylko amatorsko. Być może można to zrobić wywołując ponownie funkcję Init modułu uprzednio ustawiając zmienne np. tim3.Init.prescaler (to udało mi się znaleźć w odniesieniu do peryferiów) ale jeśli chodzi o przerwania już nie. A może ja po prostu czegoś nie wiem. Będę wdzięczny za oświecenie w tej materii. Pozdrawiam wszystkich a szczególnie autorów.  

Edytowano przez Dinosaurus
Link do komentarza
Share on other sites

@Dinosaurus witam na forum 🙂 Miło słyszeć, że kurs Ci się podoba!

Jeśli chodzi o zmianę konfiguracji peryferiów podczas pracy programu to oczywiście jest to możliwe. Za pomocą narzędzia graficznego Cube w łatwy sposób wyklikujemy konfigurację peryferiów. Jak już pewnie zauważyłeś ten konfigurator po prostu generuje zwykły kod, który bazuje na bibliotece HAL do STM32L4. Jeśli chcesz zmienić konfigurację jakiegoś modułu to najprościej również posłużyć się biblioteką HAL i wywołać od nowa inicjalizację danego modułu lub zmienić jakieś jedno ustawienie (dużo zależy od konkretnego przypadku). Skąd wiedzieć co i jak wywołać? Drogi są (przynajmniej dwie):

  1. Droga tradycyjna: jako programista znasz świetnie dokumentację bibliotek HAL, więc po prostu wiesz co należy wywołać (lub przynajmniej wiesz jak to znaleźć w dokumentacji).
  2. Droga łatwiejsza: wyklikujesz  zmiany w działaniu danego peryferium w jakimś dodatkowym projekcie Cube, podglądasz jaki kod został wygenerowany i kopiujesz odpowiedni fragment do swojego projektu.

Dla jednych takie zmiany "w locie" będą konieczne, dla innych nie. Jednak to powyższe to taka skrótowa, ogólna porada, bo dużo może tutaj zależeć od konkretnego przypadku. Oczywiście można odpuścić też HAL i działać bezpośrednio na rejestrach, ale kurs dotyczy HAL, więc uznajmy, że to jest droga, której tutaj się trzymamy. Jeśli masz jakieś konkretne pytanie to najlepiej załóż temat na naszym forum o mikrokontrolerach - łatwiej będzie pomóc.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Witam ! Dziękuję Treker za szybką odpowiedź. Wypróbowałem drugi pomysł - działa. Wzorując się na wpisach jakie zostawił program Cube można też o wiele łatwiej odnaleźć odpowiedni fragment w dokumentacji HAL. W sumie mam to co potrzebne. Jeszcze raz dzięki i pozdrawiam.  

  • Lubię! 1
Link do komentarza
Share on other sites

@Dinosaurus cieszę się, że pomogło 🙂 Są osoby, które używają Cube głównie do tego, a później przenoszą kody do osobnych projektów bazujących na HAL (bez Cube).

Link do komentarza
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!

Anonim
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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.