[PRZYKŁAD] STM32 NUCLEO-L476RG i KA-Nucleo-UniExp
Podczas programowania mikrokontrolera wykorzystałem system STM32Cube do konfiguracji peryferiów. W projekcie wykorzystane zostaną: przetwornik analogowo-cyfrowy do odczytu danych z czujnika temperatury, magistrala I2C do komunikacji z akcelerometrem oraz port szeregowy UART do sterowania modułem Bluetooth. Potrzebuję również ustawić pin PA0 jako wyjście cyfrowe – za pomocą tej linii będę wprowadzał moduł HC-05 w tryb komend AT.
Szczegółowy opis narzędzia CubeMX znajduje się w artykule:
STM32Cube graficzny konfigurator STM32
Po zainicjowaniu nowego projektu w programie STM32Cube należy odnaleźć płytkę NUCLEO-L476RG. Po dwukrotnym kliknięciu na nazwę płytki otworzy się okno, w którym można skonfigurować peryferia mikrokontrolera.
W zakładce Pinout należy oznaczyć wszystkie linie mikrokontrolera, z których będzie korzystał projekt. Intuicyjny schemat wyprowadzeń nakładki znajduje się w dokumentacji. Poniżej w tabeli opisałem, których pinów użyłem oraz jaka jest ich funkcja.
| Pin STM32L476RG |
Funkcja w projekcie |
| PA9 | USART1_TX |
| PA10 | USART1_RX |
| PA0 | HC05 – pin KEY (GPIO_Output) |
| PB8 | I2C1_SCL |
| PB9 | I2C1_SDA |
| PA4 | Sygnał Termometru (ADC1_IN9) |
Następnie należy włączyć odpowiednie peryferia w pasku po lewej stronie obrazka mikrokontrolera. W liście ADC1 należy ustawić kanał 9 jako IN9 Single-ended. Magistralę I2C1 jako I2C. Na poniższym rysunku zaznaczono odpowiednie opcje.
Rys.3. STM32Cube – konfiguracja pinoutu mikrokontrolera(1)
Oprócz tego, należy także włączyć port szeregowy USART1 w trybie Asynchronous. Przedstawiono to na poniższym rysunku.
Rys. 4. STM32Cube – konfiguracja pinoutu mikrokontrolera (2)
W zakładce Configuration można dokonać konfiguracji poszczególnych peryferiów. Zacznę od przetwornika ADC. W tym oknie ustawiłem: Clock Prescaler na Asynchronous Clock Mode divided by 8, Resolution na ADC 12-bit resolution oraz w sekcji ADC_Regular_ConversionMode – Sampling Time na 12.5 Cycles. Takie ustawienia pozwalają na dobrą precyzję pomiaru.
Rys. 5. STM32Cube – konfiguracja przetwornika ADC
W oknie USART1 należy ustawić szybkość transmisji na 38400 a długość słowa na 8 bits (including Parity). W zakładce NVIC Settings należy włączyć przerwania od portu szeregowego (USART1 Global interrupt).
Rys. 6. STM32Cube – konfiguracja portu szeregowego (UART)
W oknie GPIO warto ustawić etykietę pinu HC-05. Ja wybrałem nazwę BT_KEY. Należy też ustawić początkowy stan pinu na wysoki. Spowoduje to, że uruchamiając projekt, moduł HC05 od razu wejdzie w stan wprowadzania komend AT, co umożliwi jego konfigurację.
Rys. 7. STM32Cube – konfiguracja GPIO





Hybrydowe architektury kosmiczne – projektowane z myślą o wydajności i pewności działania
Inżynierowie jutra nie projektują od zera. Jak narzędzia cyfrowe zmieniają pracę nad nowymi technologiami?
Automatyzacja magazynów w Polsce – Exotec i Skypod 


![https://www.youtube.com/watch?v=xeqdqGuy-Aw Michał Mitas, kierownik laboratorium Badań Urządzeń Radiowych w katowickim instytucie Łukasiewicz - AI, opowiada o badaniach urządzeń z interfejsem komunikacji bezprzewodowej, jak Wi-Fi, Bluetooth, LTE czy 5G, przeprowadzanych w komorze bezodbiciowej. Zapraszamy do obejrzenia filmu! [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/10/00.png)

![https://www.youtube.com/watch?v=QSnLO-KmBMY O wybranych projektach realizowanych w Laboratorium Zakładu Układów Mikrofalowych – ISE PW opowiadają: mgr inż. Michał Kalisiak, dr hab. inż. Arkadiusz Lewandowski, mgr inż. Andžej Šerlat oraz dr hab. inż. Krzysztof Czuba. Zapraszamy na firm [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/09/WEiTI-PW-czolowka.png)

