Kurs STM32 Na Rejestrach + Sprzęt

Kurs STM32 Na Rejestrach + Sprzęt

Kurs STM32 Na Rejestrach w wersji z pakietem sprzętu to zaawansowane szkolenie dla osób, które chcą czegoś więcej niż HAL. Nauczysz się pracować z dokumentacją STM32 (Reference Manual + Datasheet), pisać własne drivery – od pollingu, przez przerwania, aż po DMA – oraz budować firmware warstwowo i modularnie. Kurs zawiera 9 modułów szkoleniowych + bonusy, kod źródłowy i wsparcie na Discordzie, a w zestawie otrzymujesz kompletny pakiet sprzętu dopasowany do wszystkich moich kursów STM32. Masz 2 lata dostępu do materiałów i aktualizacji. 🚀 Jeśli chcesz przestać zgadywać i zacząć świadomie sterować STM32 – ten kurs jest dla Ciebie!

4 299,00  z VAT

Cena netto: 3 495,12 

Korzyści

  • 30 dni na zwrot
  • Od 300 zł wysyłka gratis
  • Wysyłka z Polski w 24h
  • Wsparcie inżyniera

Kursy Online

  • Kurs STM32 dla początkującychSTM32 dla Początkujących
  • Kurs STM32 dla początkujących + SprzętSTM32 dla Początkujących + Sprzęt
  • Język C dla MikrokontrolerówJęzyk C dla Mikrokontrolerów
  • Kurs FreeRTOS na STM32 dla początkującychFreeRTOS na STM32
  • Kurs STM32 Na RejestrachSTM32 Na Rejestrach
  • Kurs STM32 Na Rejestrach + SprzętSTM32 Na Rejestrach + Sprzęt
  • Kurs Arduino Dla Początkujących + Pakiet SprzętuArduino dla Początkujących
  • 10 Szybkich Projektów na Arduino – eBookEbook 10 Projektów Arduino
Dobierz dodatki

Płatność & Wysyłka

SKU: KURS_STM32NR_HW Kategoria:

⚡ TWÓJ KOD DZIAŁA… ALE CZY NAPRAWDĘ MASZ NAD NIM KONTROLĘ?

Piszesz kod na STM32. I wszystko działa. Dopóki nie dotkniesz projektu jeszcze raz. Dodajesz kolejne elementy… i zaczyna się robić nieprzewidywalnie.

Korzystasz z HALa, ale nie masz pewności, co on dokładnie robi. Dokumentacja STM32 wygląda jak ściana tekstu bez końca. Debugowanie polega bardziej na próbach niż na rozumieniu. Projekt rośnie… a kod zaczyna się rozjeżdżać. Coś „działa”… ale nie wiesz dlaczego.

👉 I tutaj zaczyna się problem, którego większość osób nie widzi. Nie w STM32. Nie w narzędziach. W tym, jak podchodzisz do pisania firmware.

Większość osób myśli, że potrzebuje więcej praktyki, więcej projektów, więcej godzin spędzonych nad kodem. To pomaga, ale problem zostaje. Bo jeśli nie rozumiesz, co dzieje się pod spodem — każdy kolejny projekt kończy się tak samo: trochę działa, trochę nie działa i ciągle coś trzeba „naprawiać”.

Kluczowa umiejętność jest zupełnie gdzie indziej. To umiejętność pracy z dokumentacją STM32 — z Reference Manualem i Datasheetem. To umiejętność czytania sprzętu, rozumienia peryferiów i tego, jak Twój kod faktycznie z nimi współpracuje. 👉 To moment, w którym przestajesz zgadywać. I zaczynasz wiedzieć, co robisz.

🏆 NAJBARDZIEJ ZAAWANSOWANY KURS STM32 W POLSCE!

Kurs STM32 Na Rejestrach to szkolenie online dla osób, które znają już podstawy STM32 i chcą wejść poziom wyżej. HAL to bardzo dobry punkt startowy — ten kurs to kolejny krok, poziom niżej, bliżej sprzętu.

Nauczysz się projektować firmware świadomie — z pełną kontrolą nad STM32, bez zgadywania, co robi HAL. To nie jest zbiór przypadkowych lekcji, tylko przemyślana ścieżka: od podstaw pracy z rejestrami aż do budowy asynchronicznego, warstwowego firmware.

👉 Ten kurs jest dla osób, które chcą rozumieć. Nie tylko używać.

🎯DLA KOGO JEST TEN KURS — A DLA KOGO NIE?

✅ DLA KOGO

Ten kurs jest dla Ciebie, jeśli:

  • ✅ Korzystasz z HALa, ale chcesz zrozumieć, co dzieje się pod spodem
  • ✅ Chcesz mieć realną kontrolę nad STM32, a nie tylko „żeby działało”
  • ✅ Chcesz pisać firmware, który się skaluje i nie rozpada przy większych projektach
  • ✅ Interesuje Cię praca w embedded albo wejście poziom wyżej
  • ✅ Chcesz nauczyć się pracy z dokumentacją i przestać zgadywać

❌ DLA KOGO NIE

Ten kurs nie jest dla Ciebie, jeśli:

  • ❌ Dopiero zaczynasz i nie miałeś jeszcze styczności z językiem C
  • ❌ Nie miałeś jeszcze styczności z STM32
  • ❌ Szukasz najszybszej drogi „żeby coś działało”
  • ❌ Nie chcesz pracować z dokumentacją
  • ❌ Liczysz na gotowe rozwiązania zamiast budowania własnych

👉 Jeśli dopiero zaczynasz przygodę z STM32, zacznij od kursów Język C dla Mikrokontrolerów oraz STM32 dla Początkujących.

🚀 Jakie umiejętności zdobędziesz w kursie?

Kurs STM32 Na Rejestrach to praktyczne umiejętności, które zmienią sposób, w jaki pracujesz z mikrokontrolerami. Oto, czego się nauczysz:

📖 PRACA Z DOKUMENTACJĄ STM32

Od początku kursu pracujesz z Reference Manualem i Datasheetem — nie „na chwilę”, tylko przez cały kurs. Na początku każdego modułu uczysz się, co dane peryferium potrafi i jak dokładnie je obsłużyć — na podstawie dokumentacji, a nie gotowców z internetu.

🛠️ PISANIE WŁASNYCH DRIVERÓW

Zamiast polegać na HALu, piszesz własne drivery — w uporządkowany sposób. Najpierw wersja najprostsza (polling), w której poznajesz dokładną sekwencję działania peryferium, a potem kolejne, coraz bardziej zaawansowane wersje.

⚡ KOD NIEBLOKUJĄCY I PRZERWANIA

Przechodzisz od kodu blokującego do nieblokującego. Dodajesz obsługę przerwań i zaczynasz rozumieć, jak STM32 działa w tle — od sygnału, przez EXTI i NVIC, aż po handler przerwania.

🔄 DMA I PEŁNA ASYNCHRONICZNOŚĆ

Rozszerzasz drivery o DMA i budujesz kod, który działa asynchronicznie i wydajnie — dane przesyłają się w tle, a Ty decydujesz, kiedy i co przetwarzać.

🧱 WARSTWOWA ARCHITEKTURA FIRMWARE

Uczysz się projektować firmware warstwowo i modularnie — tak, żeby każdy poziom robił swoją robotę i nie mieszał się z resztą. Dzięki temu Twoje projekty skalują się i nie rozpadają przy rozbudowie.

🧩 ŁĄCZENIE WSZYSTKIEGO W SYSTEM

Kiedy znasz już przerwania i DMA, łączysz wszystko w całość: piszesz driver SPI, budujesz na nim kolejne warstwy (ekspander MCP23S08 i zbudowany na nim Panel) i tworzysz firmware, w którym moduły współpracują ze sobą w uporządkowany sposób.

🐞 DEBUGOWANIE OPARTE NA ZROZUMIENIU

Debugowanie staje się procesem, a nie zgadywaniem. Dokładnie wiesz, co robi Twój kod i dlaczego — więc wiesz też, gdzie szukać, kiedy coś nie działa.

🤝 NETWORKING I KONTAKT Z INNYMI KURSANTAMI

Nie uczysz się sam! Dołączysz do społeczności kursantów na Discordzie, gdzie możesz wymieniać się doświadczeniami i pytać o pomoc.

🗺️ JAK WYGLĄDA TWOJA DROGA W KURSIE?

Zaczynasz od uporządkowania podstaw — nie takich jak w HALu, tylko takich, które pozwalają lepiej rozumieć STM32. Potem przechodzisz przez kolejne etapy:

  1. Praca z dokumentacją – Reference Manual i Datasheet to Twoje główne narzędzia przez cały kurs. Na początku każdego modułu uczysz się, co dane peryferium potrafi i jak je obsłużyć.
  2. Budowa driverów od podstaw – najpierw wersja najprostsza: polling (blokująca). Poznajesz dokładną sekwencję działania peryferium.
  3. Kod nieblokujący i przerwania – dodajesz obsługę przerwań i zaczynasz rozumieć, jak STM32 działa w tle.
  4. DMA i pełna asynchroniczność – budujesz drivery, które działają asynchronicznie i wydajnie.
  5. Łączenie wszystkiego w system – driver SPI, ekspander MCP23S08, warstwa Panelu. Firmware, w którym moduły współpracują ze sobą w uporządkowany sposób.

👉 I dochodzisz do poziomu, gdzie nie tylko używasz STM32 — ale świadomie nim sterujesz. I dokładnie wiesz, co się dzieje pod spodem.

💪 CO ZYSKASZ, DOŁĄCZAJĄC DO KURSU?

Przede wszystkim zdobędziesz umiejętność, która odróżnia osoby jedynie „klikające w CubeMX” od inżynierów rozumiejących sprzęt: swobodną pracę z dokumentacją STM32 i pisanie kodu w oparciu o rejestry.

Po kursie:

  • ✅ Swobodnie pracujesz z dokumentacją STM32 (Reference Manual + Datasheet)
  • ✅ Piszesz własne drivery zamiast polegać na HALu
  • ✅ Budujesz firmware warstwowo i modularnie
  • ✅ Piszesz nieblokujący kod
  • ✅ Wykorzystujesz przerwania i DMA do pracy asynchronicznej
  • ✅ Dokładnie wiesz, co robi Twój kod i dlaczego
  • ✅ Debugowanie staje się procesem, a nie zgadywaniem

Dołączając do kursu, otrzymujesz również dostęp do kodu źródłowego i driverów pisanych w kursie, które możesz wykorzystać jako bazę we własnych projektach, a także możliwość zadawania pytań na zamkniętej grupie kursantów na Discordzie.

Dostęp do kursu otrzymujesz na 2 lata, z możliwością taniego (10% ceny kursu) przedłużenia po tym czasie. To wystarczająco dużo czasu na spokojną naukę, a jeśli będziesz chciał wrócić do materiałów w przyszłości — masz taką opcję bez konieczności ponownego zakupu całego kursu.

🔌 JAKIE PERYFERIA STM32 OMAWIAMY W KURSIE?

Wszystkie peryferia obsługujemy bezpośrednio na rejestrach, na podstawie dokumentacji:

⚙️ PODSTAWOWE PERYFERIA I KONFIGURACJA SPRZĘTU

  • GPIO – konfiguracja pinów, sterowanie wyjściami i odczyt wejść bezpośrednio na rejestrach.

⚡ PRZERWANIA I PRACA ASYNCHRONICZNA

  • EXTI + NVIC – pełny przepływ przerwania: sygnał → EXTI → NVIC → handler. Priorytety, wektory przerwań, poprawne czyszczenie flag.
  • DMA – automatyczne przesyłanie danych w tle, half transfer / transfer complete, współpraca z peryferiami.

📡 KOMUNIKACJA SZEREGOWA

  • UART – od wersji blokującej, przez przerwania, aż po odbiór z użyciem DMA i przerwania IDLE.
  • I2C – obsługa magistrali od podstaw do przerwań.
  • SPI – driver SPI i budowa na nim kolejnych warstw (ekspander MCP23S08, Panel).

⏱️ OBSŁUGA CZASU I SYGNAŁÓW

  • Timery (TIM) – największy moduł kursu: pełny przekrój możliwości timerów.
  • ADC – pełny przekrój przetwornika analogowo-cyfrowego.

💡 To wszystko poznasz w praktyce — każdy moduł to nie tylko teoria, ale działający kod budowany krok po kroku. 🚀

📚 AGENDA KURSU – CZEGO SIĘ NAUCZYSZ?

Kurs STM32 Na Rejestrach to przemyślana ścieżka — od podstaw pracy z rejestrami aż do budowy asynchronicznego firmware.

📋 MODUŁY KURSU:

  • Moduł 1–2: Fundamenty i GPIO – uporządkowanie podstaw, praca z dokumentacją i pierwsze operacje bezpośrednio na rejestrach.
  • Moduł 3: Przerwania (EXTI + NVIC) – grupowanie priorytetów, numery IRQ, handlery, czyszczenie flag.
  • Moduł 4: UART — od blokującego do przerwań – konfiguracja na podstawie dokumentacji, różnice LPUART/USART, rejestry, FIFO, domeny zegarowe.
  • Moduł 5: DMA w praktyce – transfery w tle, współpraca z peryferiami, przerwanie IDLE.
  • Moduł 6: Timery (największy moduł) – pełny przekrój możliwości timerów STM32.
  • Moduł 7: ADC (pełny przekrój) – przetwornik analogowo-cyfrowy od podstaw.
  • Moduł 8: I2C — od podstaw do przerwań – obsługa magistrali I2C na rejestrach.
  • Moduł 9: SPI + architektura warstwowa – driver SPI, ekspander MCP23S08, warstwa Panelu i asynchroniczna maszyna stanów.
  • Bonusy i rozszerzenia – dodatkowe materiały rozwijające tematy z kursu.

Każdy moduł zawiera kilkadziesiąt lekcji wideo, ćwiczenia praktyczne oraz przykłady kodu, które pozwolą Ci na skuteczną naukę.

Poniżej znajdziesz rozpiskę co do pojedynczej lekcji w postaci zwijanego menu 👇

Lekcja 1: Powitanie, organizacja i omówiene kursu

Lekcja 1: Wstęp
Lekcja 2: Logowanie do CubeIDE – workaround
Lekcja 3: Tworzenie projektu pod rejestry w CubeIDE
Lekcja 4: Stan zegarów po RST MCU
Lekcja 5: Przełączenie na HSE
Lekcja 6: Inicjalizacja SysTick Timera
Lekcja 7: GPIO – Wstęp
Lekcja 8: GPIO Output – Kod
Lekcja 9: Podniesienie taktowania do 48MHz PLL
Lekcja 10: Podniesienie taktowania do 100MHz PLL
Lekcja 11: Podniesienie taktowania do 170MHz PLL
Lekcja 12: Software Timer
Lekcja 13: GPIO Input
Lekcja 14: Adaptacja biblioteki do obsługi przycisku
Lekcja 15: Podsumowanie

Lekcja 1: Wstęp
Lekcja 2: Przejście przez dokumentację EXTI
Lekcja 3: Konfiguracja pinu GPIO pod EXTI
Lekcja 4: Dokumentacja NVIC
Lekcja 5: Obsłużenie przerwania EXTI
Lekcja 6: Podsumowanie

Lekcja 1: Wstęp
Lekcja 2: Konfiguracja UART – Dokumentacja
Lekcja 3: Konfiguracja UART – GPIO
Lekcja 4: Konfiguracja UART – Baudrate
Lekcja 5: Podłączenie się analizatorem logicznym do LPUART1
Lekcja 6: Transmisja blokująca
Lekcja 7: Odbiór blokujący
Lekcja 8: Odbiór przerwaniowy
Lekcja 9: Transmisja przerwaniowa
Lekcja 10: Podsumowanie

Lekcja 1: Wstęp
Lekcja 2: Przegląd dokumentacji DMA
Lekcja 3: Kopiowanie pamięci z użyciem DMA
Lekcja 4: Jak wygląda Transmisja UART na DMA
Lekcja 5: Transmisja UART po DMA
Lekcja 6: Jak wygląda Odbiór UART na DMA
Lekcja 7: Odbiór UART DMA, ustawienie DMA
Lekcja 8: Odbiór UART DMA, przerwania DMA
Lekcja 9: Odbiór UART DMA, przerwanie IDLE
Lekcja 10: Odbiór UART DMA, debugowanie problemu
Lekcja 11: Działające rozwiązanie, omówienie poprzedniego problemu
Lekcja 12: Refactoring i sprzątanie kodu
Lekcja 13: Podsumowanie

Lekcja 1: Wstęp
Lekcja 2: Wstępny przegląd dokumentacji
Lekcja 3: Przepełnienie Timera
Lekcja 4: Dokumentacja Output Compare
Lekcja 5: Tryb Output Compare
Lekcja 6: Sprzętowa kontrola pinu zewnętrznego w OC
Lekcja 7: OC 4-kanałowe, wybór pinów
Lekcja 8: OC 4-kanałowe, konfiguracja kanałów
Lekcja 9: OC 4-kanałowe, podział częstotliwości
Lekcja 10: OC 4-kanałowe, poprawki błędów dzielenia
Lekcja 11: OC 4-kanałowe, poprawka pierwszego przebiegu
Lekcja 12: Rozwiązanie „zagadki” Update Event
Lekcja 13: 4 sygnały o różnej częstotliwości na DMA
Lekcja 14: Dokumentacja PWM
Lekcja 15: Tryb PWM – Ustawienie
Lekcja 16: Tryb PWM – Dioda RGB
Lekcja 17: Tryb PWM Center Aligned
Lekcja 18: Dokumentacja Input Capture
Lekcja 19: Tryb Input Capture
Lekcja 20: Tryb Input Capture – Dwa zbocza na jednym pinie
Lekcja 21: Dokumentacja IWDG
Lekcja 22: Implementacja IWDG – Inicjalizacja
Lekcja 23: Implementacja IWDG – Odświeżanie
Lekcja 24: Dokumentacja WWDG
Lekcja 25: Implementacja WWDG
Lekcja 26: Podsumowanie

Lekcja 1: Wstęp, założenia projektu
Lekcja 2: Konfiguracja GPIO i Timera
Lekcja 3: Konfiguracja DMA
Lekcja 4: Wypełnianie tablicy PWM
Lekcja 5: Zadanie domowe – usprawnienia

Lekcja 1: Wstęp
Lekcja 2: Przygotowanie Timera i PWM
Lekcja 3: Algorytm odświeżania z DMA
Lekcja 4: Funkcje obsługujące transfer DMA
Lekcja 5: Obsługa przerwań DMA
Lekcja 6: Jak wygląda transfer + drobny błąd
Lekcja 7: Poprawienie błędu i pomysły na optymalizację

Lekcja 1: Wstęp
Lekcja 2: Przegląd dokumentacji ADC i jego możliwości
Lekcja 3: Wstępna konfiguracja ADC
Lekcja 4: Ustawienie pojedynczego kanalu
Lekcja 5: Ustawienie pojedynczego kanalu pollingiem
Lekcja 6: Uruchomienie FPU w STM32
Lekcja 7: Przeliczenie na wartość napięcia – źródła odniesienia dla ADC
Lekcja 8: Odczyt z wewnętrznego czujnika temperatury
Lekcja 9: Zmiana źródła odniesienia na wewnętrzne VREFBUF – Dokumentacja
Lekcja 10: Zmiana źródła odniesienia na wewnętrzne VREFBUF – Kod
Lekcja 11: Jeden kanał: Odczyt w przerwaniu
Lekcja 12: Tryby pomiarów: Continouous Conversion Mode
Lekcja 13: Jeden kanał: Odczyt w przerwaniu, Tryb Continouous
Lekcja 14: Jeden kanał: Odczyt z DMA, Tryb Continouous
Lekcja 15: Jeden kanał: Odczyt z DMA, Tryb Continouous – zebranie tablicy
Lekcja 16: Oversampling – Co to jest?
Lekcja 17: Oversampling – Kod
Lekcja 18: Wiele kanałów: Polling + Ręczna Zmiana
Lekcja 19: Czym jest sekwencja pomiarowa?
Lekcja 20: Wiele kanałów: Konfiguracja sekwencji
Lekcja 21: Wiele kanałów, przerwania: EOC
Lekcja 22: Wiele kanałów, przerwania: EOS
Lekcja 23: Wiele kanałów, przerwania: Tryb ciągły
Lekcja 24: Wiele kanałów, DMA – Dokumentacja
Lekcja 25: Wiele kanałów, DMA – Kod
Lekcja 26: External Trigger do pomiaru ADC
Lekcja 27: Ustawienie TRGO w Timerze
Lekcja 28: Ustawienie External Triggera w ADC
Lekcja 29: Tryb Discontinuous
Lekcja 30: Tryb Discontinuous z DMA
Lekcja 31: Tryb Discontinuous z Przerwaniami
Lekcja 32: Tryb injected
Lekcja 33: Tryb injected, konfiguracja drugiego Timera
Lekcja 34: Tryb injected, konfiguracja kanałów Injected
Lekcja 35: Tryb injected, zbieranie danych z Injected
Lekcja 36: Analog Watchdog
Lekcja 37: Analog Watchdog – AWDG1
Lekcja 38: Analog Watchdog – AWDG2 i AWDG3
Lekcja 39: Analog Watchdog – Dopasowanie do różnej rozdzielczości
Lekcja 40: ADC Dual Mode – Dokumentacja, wstęp
Lekcja 41: ADC Dual Mode – Dokumentacja, Simultaneous Mode
Lekcja 42: ADC Dual Mode – Dokumentacja, Interleaved Mode
Lekcja 43: ADC Dual Mode – Dokumentacja, Alternate Trigger mode
Lekcja 44: ADC Dual Mode – Dokumentacja, DMA w Dual ADC
Lekcja 45: ADC Dual Mode – Wstępne wydzielenie dwóch ADC w projekcie
Lekcja 46: ADC Dual Mode – Redukcja nadmiarowych konfiguracji
Lekcja 47: ADC Dual Mode – Sekwencje pomiarowe
Lekcja 48: ADC Dual Mode – Dual Mode i DMA
Lekcja 49: ADC Dual Mode – Uruchomienie i naprawa błędów
Lekcja 50: ADC Dual Mode – Organizacja pomiarów
Lekcja 51: ADC Dual Mode, Interleaved – Wstęp
Lekcja 52: ADC Dual Mode, Interleaved – Kalkuator
Lekcja 53: ADC Dual Mode, Interleaved – Kod

Lekcja 1: Wstęp
Lekcja 2: I2C – Dokumentacja
Lekcja 3: I2C – GPIO
Lekcja 4: I2C – Inicjalizacja 100 kHz, 7-bit adres
Lekcja 5: I2C – Polling, Zapis na magistrali – omówienie
Lekcja 6: I2C – Polling, Zapis na magistrali – Kod
Lekcja 7: I2C – Polling, Odczyt z magistrali
Lekcja 8: I2C – Polling, Zapis do rejestru
Lekcja 9: I2C – Polling, Odczyt z rejestru
Lekcja 10: I2C – Polling, Porządki
Lekcja 11: I2C – Polling, Refactoring algorytmu
Lekcja 12: I2C – Polling, RELOAD
Lekcja 13: I2C – Polling, RELOAD, sprzątanie
Lekcja 14: I2C – Polling, Obsługa błędów, Timeout
Lekcja 15: I2C – Polling, Poprawka na AUTOEND
Lekcja 16: I2C – Skaner urządzeń na magistrali
Lekcja 17: I2C – Przerwania, kontekst transferu
Lekcja 18: I2C – Przerwania, BUSY na nowo
Lekcja 19: I2C – Przerwania, Zapis na magistrali
Lekcja 20: I2C – Przerwania, Odczyt z magistrali
Lekcja 21: I2C – Przerwania, Zapis do rejestru
Lekcja 22: I2C – Przerwania, Odczyt z rejestru
Lekcja 23: I2C – Przerwania, Callbacki
Lekcja 24: I2C – Przerwania, Obsługa błędów
Lekcja 25: I2C – Przerwania, Timeout i abort
Lekcja 26: I2C – Przerwania, Timeout do przerwań
Lekcja 27: I2C – Przerwania, błąd z krótkimi transferami
Lekcja 28: Debugowanie: zapis sekwencji „wpadania” przerwań
Lekcja 29: I2C – Przerwania, Rozwiązanie błędu
Lekcja 30: I2C – Przerwania, Przywracanie statusu po błędach

Lekcja 1: Wstęp
Lekcja 2: SPI – Dokumentacja
Lekcja 3: SPI – Inicjalizacja
Lekcja 4: SPI – Piny sterujące
Lekcja 5: SPI – Polling, Zapis
Lekcja 6: SPI – Polling, Odczyt
Lekcja 7: SPI – Polling, Zapis / Odczyt jednoczesny
Lekcja 8: MCP23S08 – Funkcje transferowe
Lekcja 9: MCP23S08 – Konfiguracja pinów
Lekcja 10: MCP23S08 – Kontrona I/O
Lekcja 11: Panel – Szkielet biblioteki
Lekcja 12: Panel – Przycisk i LED
Lekcja 13: Panel – Odczyt portu i Toggle LED
Lekcja 14: SPI – Przerwania, Nadawanie
Lekcja 15: SPI – Przerwania, Kolejka FIFO przy nadawaniu
Lekcja 16: SPI – Przerwania, Odbieranie i FIFO
Lekcja 17: SPI – Przerwania, OVR
Lekcja 18: MCP23S08 – Praca asynchroniczna
Lekcja 19: MCP23S08 – Callbacki do SPI
Lekcja 20: Panel – Warstwa asynchroniczna
Lekcja 21: Panel – Cache’owanie LEDów
Lekcja 22: Panel – Cache’owanie przycisków
Lekcja 23: Usunięcie zduplikowanego maskowania przycisków
Lekcja 24: MCP Interrupt – EXTI
Lekcja 25: MCP Interrupt – Config MCP
Lekcja 26: MCP Interrupt – Obsługa przerwania
Lekcja 27: MCP Interrupt – Event przycisków
Lekcja 28: MCP Interrupt – Schowanie eventów do Panelu
Lekcja 29: MCP Interrupt – Refactor Eventów + Release
Lekcja 30: MCP Interrupt – API wysokiego poziomu
Lekcja 31: MCP Interrupt – Button Repeat
Lekcja 32: MCP Interrupt – Bug ze wskaźnikiem
Lekcja 33: MCP Interrupt – Sprzątanie

Lekcja 1: Wstęp
Lekcja 2: RTC – Dokumentacja
Lekcja 3: RTC – Inicjalizacja
Lekcja 4: RTC – Konfiguracja
Lekcja 5: Kod BCD
Lekcja 6: RTC – Ustawienie daty i godziny
Lekcja 7: RTC – Odczytanie daty i godziny
Lekcja 8: RTC – Lepsze ustawienie daty i godziny
Lekcja 9: RTC – Milisekundy
Lekcja 10: RTC – Sprawdzenie INITS
Lekcja 11: RTC – Wyliczenie dnia tygodnia
Lekcja 12: RTC – Rejestry Backupowe
Lekcja 13: RTC – Zapis konfiguracji i Reset counter
Lekcja 14: RTC – Czas letni
Lekcja 15: RTC – Źródło resetu MCU
Lekcja 16: RTC – Alarm, podstawy
Lekcja 17: RTC – Alarm, maskowanie
Lekcja 18: RTC – Wakeup Timer

… i kolejne w drodze

🎬 PRZYKŁADOWE LEKCJE Z KURSU:

Żebyś wiedział, czego się spodziewać — oto styl i poziom szczegółowości lekcji:

Konfiguracja UART na podstawie dokumentacji (25:36)

W tej lekcji:

  • ustalamy, który UART jest faktycznie podłączony do ST-Linka
  • przechodzimy przez dokumentację płytki i schemat
  • analizujemy różnice między LPUART a klasycznym USART
  • rozbijamy peryferium na części: rejestry, FIFO, domeny zegarowe

👉 To nie jest „kliknij i działa”.

👉 To jest proces:

  • znajdź w dokumentacji
  • zrozum co się dzieje
  • dopiero potem napisz kod

💡Po takim podejściu przestajesz zgadywać — zaczynasz rozumieć.

Obsłużenie przerwania EXTI (28:56)

W tej lekcji:

  • ustawiamy grupowanie priorytetów w NVIC
  • znajdujemy właściwy numer IRQ w dokumentacji
  • ustawiamy priorytet i włączamy przerwanie
  • tworzymy handler i podpinamy go pod wektor przerwań
  • sprawdzamy, które źródło przerwania je wywołało
  • pracujemy bezpośrednio na rejestrach EXTI
  • poprawnie czyścimy flagę przerwania

👉 Widzisz cały przepływ:

  • sygnał → EXTI → NVIC → handler

💡Po tej lekcji wiesz, jak działa przerwanie i potrafisz je samodzielnie obsłużyć.

Odbiór UART z użyciem DMA i przerwania IDLE (24:09)

W tej lekcji:

  • włączamy przerwanie IDLE w UART i konfigurujemy NVIC
  • wykrywamy moment zakończenia transmisji na linii
  • sprawdzamy ile danych faktycznie odebrało DMA
  • rozróżniamy, w której części bufora się znajdujemy
  • kopiujemy brakujące dane z bufora DMA
  • resetujemy transfer DMA i startujemy go od nowa
  • analizujemy potencjalne konflikty między IDLE, half transfer i transfer complete

👉 Widzisz, jak wygląda realny odbiór danych:

  • DMA odbiera w tle
  • przerwania informują o stanie transmisji
  • Ty decydujesz, kiedy i co przetwarzać

💡Po tej lekcji potrafisz zbudować odbiór danych, który działa ciągle i nie blokuje programu — nawet przy dłuższych transmisjach.

Panel – warstwa asynchroniczna (29:23)

W tej lekcji:

  • budujemy kontekst panelu i przenosimy do niego stan całej komunikacji
  • wprowadzamy fazy działania (idle, start, wait)
  • sterujemy przepływem przez funkcję task (state machine)
  • zlecamy operacje bezpośrednio na panelu (bez dotykania SPI/MCP)
  • oddzielamy logikę aplikacji od warstwy sprzętowej
  • debugujemy rzeczywisty problem z warunkiem i przepływem programu

👉 Na tym poziomie:

  • nie interesuje Cię już SPI ani rejestry
  • operujesz na funkcjach typu „odczytaj przyciski” i „ustaw diody”

💡Po tej lekcji budujesz firmware warstwowo — każdy poziom robi swoją robotę i nie miesza się z resztą.

📦 PAKIET SPRZĘTU – CO OTRZYMASZ W ZESTAWIE?

To kurs praktyczny — żeby w pełni z niego skorzystać, pracujesz na sprzęcie, dokładnie tak, jak pokazuję to w lekcjach.

👉 Masz już sprzęt? Możesz korzystać z własnych elementów — udostępniam dokładną listę sprzętu używanego w kursie, żebyś mógł sprawdzić kompatybilność lub uzupełnić brakujące rzeczy.

👉 Nie masz sprzętu albo nie chcesz tego kompletować? Dlatego powstał pakiet sprzętowy: dopasowany do całego kursu, sprawdzony w praktyce, bez problemów z kompatybilnością. Nie tracisz czasu na dobieranie elementów, sprawdzanie kompatybilności i szukanie zamienników.

👉 Jeden zestaw do wszystkich moich kursów 🧰 — ten pakiet nie jest „pod jeden kurs”. To zestaw, który pokrywa wszystkie moje materiały STM32 — od podstaw aż po poziom pracy na rejestrach. Nie musisz kupować niczego osobno przy kolejnych kursach.

UWAGA. Pakiet sprzętu jest jeden dla wszystkich kursów STM32 od msalamon. nie kupuj, jeśli już go masz.

Aktualnie czytasz ofertę kursu online RAZEM Z PAKIETEM SPRZĘTU. Kurs bez pakietu sprzętu dostępny jest tutaj: Kurs STM32 Na Rejestrach

📦 Zawartość pakietu sprzętowego:

🔹 Mikrokontroler i płytka rozwojowa:
✔️ STM32 NUCLEO-G474RE – płytka Nucleo-64 z mikrokontrolerem STM32G474RET6 (ARM Cortex-M4)

🔹 Moduły komunikacyjne i pamięci:
✔️ EEPROM AT24C256 – pamięć EEPROM 256kb (I2C)
✔️ Czytnik kart microSD SPI SDIO – obsługa kart pamięci w systemach wbudowanych
✔️ Karta microSD 16GB Goodram z adapterem

🔹 Wyświetlacze i moduły wizualizacji:
✔️ Wyświetlacz OLED 0,96″ 128x64px (I2C) – niebieski
✔️ Wyświetlacz dotykowy TFT LCD 2,4″ 240x320px z czytnikiem SD (SPI)
✔️ Moduł z 8 diodami LED (niebieskie lub czerwone, wspólna anoda)

🔹 Czujniki i moduły pomiarowe:
✔️ Czujnik ciśnienia i temperatury BMP280
✔️ Ultradźwiękowy czujnik odległości HC-SR04
✔️ Akcelerometr i żyroskop MPU6050
✔️ Moduł mikrofonu z czujnikiem dźwięku KY037

🔹 Moduły sterujące i interfejsy wejścia:
✔️ Joystick analogowy 3-osiowy z przyciskiem
✔️ Sterownik silników dwukanałowy L298N
✔️ Silnik DFRobot z enkoderem kwadraturowym
✔️ Moduł z potencjometrem 270°
✔️ Przyciski microswitch do płytki stykowej (4 sztuki)
✔️ Ekspander wyprowadzeń MCP23S08 (SPI, 8-kanałowy)

🔹 Moduły audio i sygnalizacyjne:
✔️ Moduł Buzzer pasywny 5V
✔️ Moduł z diodą RGB
✔️ Matryca 25 diod adresowalnych LED RGB WS2812

🔹 Złącza i przewody:
✔️ Płytka stykowa 830 pól (biała)
✔️ Zestaw przewodów połączeniowych:

✔️ Przewody USB micro 1m (2 szt.)
✔️ Goldpiny (4-pin, 5-pin)
✔️ Gniazdo microUSB goldpin do płytki prototypowej
✔️ Gniazdo USB goldpin typ A do płytki prototypowej

🔹 Dodatkowe akcesoria:
✔️ Skrzynka narzędziowa – do przechowywania wszystkich komponentów
✔️ Kilka gadżetów od msalamon 😻

👨‍🏫 Twój instruktor – Mateusz Salamon

Cześć! Nazywam się Mateusz Salamon i będę Twoim instruktorem w kursie STM32 dla Początkujących. Od ponad 10 lat programuję mikrokontrolery STM32, a moją misją jest pomaganie innym w nauce embedded w sposób przejrzysty, praktyczny i skuteczny.

Moja przygoda z mikrokontrolerami zaczęła się od programowania w asemblerze na układach 8051, później przeszedłem na AVR, aż w końcu trafiłem na STM32 i architekturę ARM, które stały się moją główną specjalizacją. Wiem, jak trudna może być nauka bez dobrych materiałów i wsparcia – dlatego postanowiłem stworzyć kurs, który krok po kroku przeprowadzi Cię przez cały proces programowania mikrokontrolerów.

Prowadzę bloga msalamon.pl, którego miesięcznie odwiedzają tysiące osób szukających rzetelnej wiedzy o STM32. Tworzę także kursy online, w których pokazuję nie tylko teorię, ale przede wszystkim realne, praktyczne zastosowania, pomagając kursantom pisać wydajny i dobrze zoptymalizowany kod.

W kursie nie zostawiam Cię samego z materiałami – będę z Tobą na każdym etapie nauki, a także na regularnych spotkaniach LIVE, gdzie odpowiem na Twoje pytania i pomogę rozwiązać problemy. Możesz też liczyć na wsparcie w zamkniętej społeczności kursantów.

Chcę, żebyś nauczył się STM32 raz, a dobrze, unikając błędów, które ja kiedyś popełniałem. Jeśli chcesz wejść w świat mikrokontrolerów i nauczyć się programować w praktyczny sposób – ten kurs jest dla Ciebie! 🚀

Do zobaczenia na lekcjach! 😊

⏳ Jak długo będziesz mieć dostęp do kursu?

Kupując kurs STM32 Na Rejestrach, otrzymujesz dostęp do wszystkich materiałów na 2 lata. W tym czasie możesz swobodnie przerabiać lekcje we własnym tempie, wracać do nagrań, a także korzystać z wsparcia społeczności na Discordzie.

Dodatkowo, przez cały okres dostępu otrzymujesz wszystkie aktualizacje kursu – jeśli pojawią się nowe lekcje, dodatkowe materiały czy poprawki, masz do nich automatyczny dostęp bez dodatkowych opłat.

Po 2 latach masz możliwość przedłużenia dostępu na kolejne 2 lata za 10% ceny kursu, dzięki czemu możesz nadal korzystać z materiałów, aktualizacji i społeczności wsparcia. To nie jest abonament — decyzję o przedłużeniu podejmujesz dopiero po 2 latach.

🚀 Ucz się we własnym tempie i miej pewność, że zawsze masz dostęp do najnowszych materiałów!

📦 Co otrzymasz w pakiecie z kursem?

Każdy uczestnik kursu STM32 Na Rejestrach otrzymuje kompleksowy zestaw materiałów edukacyjnych, które umożliwią skuteczną naukę pracy z STM32 na poziomie rejestrów.

🎥 Kurs wideo i materiały edukacyjne

  • Dostęp do kursu STM32 Na Rejestrach – 9 modułów szkoleniowych + bonusy i rozszerzenia. Łącznie ponad 65 godzin.
  • Kurs w formie wideo – połączenie teorii (praca z dokumentacją) i praktyki (pisanie driverów, konfiguracja rejestrów, testowanie na sprzęcie).
  • Dostęp do wszystkich przyszłych aktualizacji kursu w okresie 2 lat, z możliwością taniego przedłużenia dostępu.

💾 DRIVERY, KODY ŹRÓDŁOWE I DOKUMENTACJA

  • Dostęp do kodu źródłowego i driverów pisanych w kursie, które możesz wykorzystać w swoich projektach.
  • Praca z oficjalną dokumentacją STM32 (Reference Manual + Datasheet) — nauczysz się z niej korzystać jak z głównego narzędzia pracy.

🛠️ Sprzęt

W tej wersji kursu otrzymujesz kompletny zestaw do nauki, który zawiera wszystkie niezbędne elementy do wykonania ćwiczeń i projektów z kursu. Zestaw zawiera oryginalne podzespoły, które są wykorzystywane w kursie, i pokrywa wszystkie moje kursy STM32 — od podstaw aż po poziom pracy na rejestrach. Nie musisz kupować niczego osobno przy kolejnych kursach.

Kurs bez pakietu sprzętu dostępny jest tutaj 👉 https://sklep.msalamon.pl/produkt/kurs-stm32-na-rejestrach/

👥 Społeczność i wsparcie

  • Dostęp do zamkniętej grupy na Discordzie – miejsce do wymiany doświadczeń, zadawania pytań i networkingu z innymi kursantami.
  • Cykliczne Live Q&A z instruktorem – sesje na żywo, gdzie możesz rozwiać swoje wątpliwości i dowiedzieć się więcej na temat programowania STM32.

🔐 Gwarancja satysfakcji

  • 14-dniowa gwarancja zwrotu – masz 14 dni, żeby przejść część materiału i sprawdzić, czy to jest dla Ciebie. Jeśli uznasz, że nie — zwracam 100% pieniędzy. Bez kombinowania i zbędnych formalności.

To kompletny pakiet, który pozwoli Ci wejść poziom wyżej w programowaniu STM32. 🚀

❓ Najczęściej zadawane pytania (FAQ)

Masz pytania? Oto odpowiedzi na te, które pojawiają się najczęściej!

❓ CZY TEN KURS JEST DLA MNIE, JEŚLI ZNAM TYLKO HAL?

Tak — i to jest dokładnie punkt wyjścia, pod który ten kurs został zaprojektowany. Jeśli korzystasz z HALa, ale nie do końca rozumiesz, co się dzieje pod spodem, masz problem z debugowaniem albo czujesz, że „coś działa”, ale nie masz nad tym pełnej kontroli — jesteś w idealnym miejscu. HAL to bardzo dobry start. Ten kurs pokazuje, co dzieje się niżej — i jak to wykorzystać w praktyce.

❓ CZY TEN KURS NIE JEST ZA TRUDNY?

Kurs prowadzi Cię krok po kroku — od uporządkowania podstaw, przez najprostsze wersje driverów (polling), aż po przerwania, DMA i architekturę warstwową. Każdy moduł to działający kod budowany na Twoich oczach. Jeśli znasz język C i miałeś styczność z STM32, dasz radę. W razie czego jestem razem z pozostałymi uczestnikami na naszym Discordzie.

❓ CZY MUSZĘ ZNAĆ JĘZYK C?

Tak — podstawowa znajomość języka C jest wymagana. Jeśli dopiero zaczynasz, polecę mój kurs z języka C (https://cdlamikrokontrolerow.pl). Przyda się też wcześniejsza styczność z STM32 — jeśli jej nie masz, zacznij od kursu STM32 dla Początkujących.

❓ CZY BĘDĘ DALEJ UŻYWAŁ HALA PO TYM KURSIE?

Prawdopodobnie tak — i to jest w porządku. HAL to dobre narzędzie, a ten kurs nie polega na jego „porzuceniu”. Po kursie będziesz jednak dokładnie wiedział, co HAL robi pod spodem, będziesz umiał go debugować, a tam, gdzie to potrzebne — zastąpić go własnym, lżejszym driverem.

❓ CZY POTRZEBUJĘ SPRZĘTU, ŻEBY PRZEJŚĆ KURS?

To kurs praktyczny — żeby w pełni z niego skorzystać, pracujesz na sprzęcie, dokładnie tak, jak pokazuję to w lekcjach. Możesz korzystać z własnych elementów (udostępniam dokładną listę sprzętu używanego w kursie) albo wybrać wersję kursu z gotowym pakietem sprzętowym.

❓ CZY MUSZĘ ZNAĆ REJESTRY NA PAMIĘĆ?

Nie! Wręcz przeciwnie — cały kurs uczy Cię, jak znajdować potrzebne informacje w dokumentacji, zamiast uczyć się ich na pamięć. Reference Manual i Datasheet to Twoje narzędzia pracy, a nie materiał do wykucia.

❓ KIEDY RUSZA KURS?

Kurs jest dostępny od razu po zakupie – możesz zacząć naukę w dogodnym dla siebie momencie.

❓ CO JEŚLI NIE ZDĄŻĘ PRZEROBIĆ KURSU W 2 LATA?

Większość osób spokojnie przerabia kurs w tym czasie. Jeśli będziesz potrzebował więcej — możesz przedłużyć dostęp na kolejne 2 lata za jedyne 10% ceny kursu, którą zapłaciłeś pierwotnie.

❓ CZY DOSTAJĘ AKTUALIZACJE KURSU?

Tak — przez cały okres dostępu otrzymujesz wszystkie aktualizacje kursu bez dodatkowych opłat: nowe lekcje, dodatkowe materiały i poprawki.

❓ CZY MOGĘ KUPIĆ KURS NA RATY?

Tak, kurs możesz kupić na 10 lub 20 rat 0% przy skorzystaniu z możliwości operatora płatności Przelewy24. Istnieje możliwość rozłożenia na raty bez pośrednika – bezpośrednio przez nas. Taka opcja jest dostępna tylko podczas kampanii promocyjnej kursu (około 3 razy w roku).

❓ CZY MOGĘ ZWRÓCIĆ KURS, JEŚLI MI SIĘ NIE SPODOBA?

Tak, masz 14 dni na zwrot kursu, jeśli uznasz, że nie spełnia Twoich oczekiwań. Wystarczy, że napiszesz do mnie na mateusz@msalamon.pl, a otrzymasz zwrot środków bez podawania powodu.

Wysyłka w dniu zamówienia

Złożyłeś zamówienie? Machina ruszyła! Czekamy na zaksięgowanie płatności, a później… Pakujemy, adresujemy i wysyłamy.

Wysyłka 24h

Jeśli zapłacisz do godziny 14:00, przesyłka zostanie dostarczona w przeciągu 24 H (w dni robocze). Przesyłka zamówiona po godzinie 14:00 zostanie wysłana w kolejnym dniu roboczym.

Do czasu wysyłki należy doliczyć czas doręczenia deklarowany przez wybranego przewoźnika.

Program darmowej dostawy!

Wiemy, że koszt wysyłki zawsze boli… Dlatego wprowadziliśmy program Darmowej Dostawy dla Paczkomatów do zamówień przedpłaconych. Darmowa Dostawa w sklepie msalamon dzieli się na dwie kategorie:

Kategoria 1

Darmowa Dostawa Paczkomatem dla wszystkich klientów w przypadku dokonania zakupów o wartości produktów fizycznych (bez Kursów Online) powyżej 400 zł.

Kategoria 2

Program Darmowej Dostawy dla stałych klientów. Aby skorzystać z programu Darmowej Dostawy dla stałych klientów należy spełnić poniższe warunki:

1️⃣Posiadać aktywne konto w sklepie. Założyć możesz np. tutaj: w https://sklep.msalamon.pl/moje-konto

2️⃣Dołączyć do newslettera sklepowego z nowościami i promocjami. Wysyłka regularnie co poniedziałek. https://sklep.msalamon.pl/newsletter

3️⃣Każdorazowo posiadać w koszyku produkty fizyczne (bez Kursów Online) o łącznej wartości co najmniej 100 zł.

Metody dostaw objęte promocją

  • Paczkomaty Inpost (przedpłata)
  • Żabka (przedpłata)
  • Orlen Paczka (przedpłata)

Pamiętaj, aby potwierdzić zapis do newslettera

*Promocja ważna jest od 15.02.2024 do odwołania

Ważne – poczekaj na potwierdzenie

Przyznanie darmowej wysyłki zawsze potwierdzone jest mailem. Poczekaj kilka minut, aby nasze systemy zdążyły się porozumieć i przyznać Ci obniżony próg Darmowej Dostawy.
Zwykle trwa to chwilę, maksymalnie 30 minut.

Wysyłka na terenie Polski

Odbiór w punkcie

kurier

Jakie są formy płatności?

inni kupili również