W tej części bloga będę prezentował różne przygotowane programy do obsługi mikrokontrolerów STM32, głównie dla STM32F4 (STM32F4 - Discovery) oraz STM32 M3 (STM32F103RB). Programy zostaną przygotowane w programie Keil uVision oraz System Workbench.
Pliki z wszystkimi materiałami dostępne są na dysku Google:
Pliki z wszystkimi materiałami dostępne są na dysku Google:
PROJEKTY
- [I] STM32F4 - Discovery - Wiatrak regulowany PWM-em wraz z czujnikiem temperatury oraz prezentacją danych na wyświetlaczu.
- [II] STM32F4 - Discovery - Generator sygnałów za pomocą konwertera cyfrowo analogowego
- [III] STM32F4 - Discovery - Tester klawiatury membranowej 20x20 Cz. 1., Cz. 2.
- [IV] STM32F4 - Discovery - Pomiar odległości i zapełnienia pudła za pomocą czujnika ultradzwiękowego.
- [V] STM32F429I - Discovery - Wyświetlacz, panel dotykowy, RTC
*#*STM32H7*#*
Poniżej opis przygotowanych postów opisujących działanie urządzeń dla mikrokontrolerów z rodziny STM32H7.
- STM32H725VGTx - Konfiguracja sprzętowa i pierwsze uruchomienie
- STM32H725VGTx - Konfiguracja ETH, Serwer TCP
- STM32H725VGTx - Freertos, LWIP
- STM32H725VGTx - HAL USART DMA RX TX
- STM32H725VGTx - SWV
- STM32H754 - LWIP
- STM32H754 - LWIP wersja 2
- STM32H7 - LWIP UDP Klient, Serwer
- STM32H723 - LWIP
- STM32H723 - LWIP, FREERTOS - TCP Serwer oraz Klient
- LWIP - HTTP, CGI,SSI, POST
- LWIP - HTTP, automatyczne wylogowanie ze strony internetowej
- Biblioteka CException
- Cordic
- Logi z pracy układu
- LPUART
- MBEDTLS - Blowfish
- MBEDTLS - SHA, AES
- MBEDTLS - SSL Client
- MBEDTLS - SSL Serwer
- MPU
- FreeRTOS - Semafor binarny
- FreeRTOS - Task Notification
- FreeRTOS - RS485, przerwania RX od USART
- I2C EEPROM
- RS485
- SPI AT45DB FLASH
- Interfejs na podstawie dostępu do zewnętrznej pamięci flash.
- Interface GPIO
- Watchdog IWDG, WWDG
- Wiegand
- Wiegand - Unity - Unit Test
*#*STM32F4*#*
Poniżej znajdują się przygotowane programy dla mikrokontrolerów z rodziny STM32F4.
STM32F4 - Rejestry
- [0] Rejestry specjalne mikrokontrolera
- [1] GPIO
- [2] Konfiguracja taktowania układu
- [3] DAC - przebieg piłokształtny
- [4] ADC
- [5] Konfiguracja Systicka
- [6] EXTI
- [7] IWDG, WWDG
STM32F4 - Discovery (STM32F407VGT - Cortex M4F)
- [0] Taktowanie
- [0] Taktowanie - Ustawienie maksymalnej częstotliwości
- [1] Inicjalizacja GPIO
- [2] Timery, PWM
- [3] ADC
- [4] Wyświetlacz ze sterownikiem HD44780, wersja 2
- [5] Ultradźwiękowy czujnik odległości HC-SR04
- [6] DMA, ADC, wyświetlacz HD44780
- [7] DMA, ADC, wyświetlacz Nokia 5110
- [8] Watchdog - niezależny układ czuwający
- [9] USART, funkcja printf
- [10] DAC
- [11] Sprzętowy kooprocesor arytmetyczny
- [12] Akcelerometr LIS302DL
- [13] Pamieć flash FL127SIF10
- [14] SPI biblioteki HAL oraz API
- [15] Pamieć flash AD45DB161
- [16] Tryby oszczędzania energii
- [17] Trzy osiowy akcelerometr LSM303D
- [18] Systick
- [19] Komunikacja z modułem HC-05
- [20] Akcelerometr LIS3DSH
- [21] Generator liczb pseudolosowych
- [22] Programowy PWM
- [23] Enkoder
- [24] HID, klawiatura oraz myszka
- [25] DWT, pomiar czasu
- [26] RTC DS3231
- [27] Emulacja pamięci EEPROM
- [28] USART, DMA, RX oraz TX
- [29] WS2812, sterowanie za pomocą Timera z PWM oraz DMA
- [30] FreeRTOS, obsługa prostych zdarzeń
- [31] Obsługa czujnika temperatury DS18B20
- [32] DS18B20, wiele czujników, obsługa alarmu
- [33.1] ENC28J60, Serwer UDP
- [33.2] ENC28J60, Serwer UDP przesyłanie danych z czujników do klienta
- [33.3] ENC28J60. Serwer TCP
- [34] Klawiatura oraz myszka USB HID (sterowanie przez enkoder oraz klawiaturę matrycową)
- [35] Custom HID, klawiatura multimedialna
- [36] BME280
- [37] DHT22
- [38] NRF24L01
- [39] Wyświetlacz Nextion UART
- [40] Riverdi FT801
- [41] Power Voltage Detector (PVD)
- [42] Brownout Reset (BOR)
- [43] LAN8720 LWIP TCPSerwer
- [44] Printf na konsolę, logowanie danych
- [45] Makefile, Visual Studio Code
- [46] PAJ7620
- [47] LIS3DSH, SPI Polling, INT, DMA
- [48] BMI160 I2C
- [49] BMI160 SPI
- [50] MPU-6050
- [51] IAP, UART, YMODEM
STM32F4 - Biblioteki LL
- [0] Obsługa diod i przycisku
- [1] Przerwania od przycisku oraz przerwania od timera
- [2] PWM
- [3] UART, Przerwania, DMA
- [4] IWDG, WWDG
- [5] I2C BMI160
STM32F429l - Discovery (STM32F429l)
- [1] Wyświetlacz LCD
- [2] Pamieć SDRAM ISSI
- [3] Ekran TFT z panelem dotykowym, biblioteka STD
- [4] Odczyt oraz zapis kart Mifare - MFRC522
- [5] Biblioteki LL - Wyświetlacz LCD TFT ILI9341
Biblioteki:
STM32 - Nucleo (STM32F411RET6 - Cortex M4)
- [0] Opis płytki ewaluacyjnej, pierwszy program
- [1] Inicjalizacja GPIO I/O
- [2] ADC, potencjometr, USART
- [3] USART
- [4] OLED SSD1306, I2C, HAL, LL
*#*STM32F7*#*
STM32F746NG - Discovery
- [1] Porty GPIO
- [2] SDRAM
- [2.1] SDRAM
- [3] USART
- [4] Karta SD
- [5] Wyświetlacz, panel dotykowy, STemWin Cz. 1
- [5] Wyświetlacz, panel dotykowy, STemWin Cz. 2.
- [6] STemWin, Fatfs, Wyświetlanie zdjęć
- [7] Watchdog, niezależny
- [8,0] LWIP TCP Echoserwer z RTOS
- [8.1] LWIP, TCP, Echoserwer bez RTOS
- [8.2] LWIP, HTTP Serwer
- [8.3] UDP Serwer
- [9] Generacja sygnału PWM
- [10] ADC Podstawowy pomiar
- [11] STemWin polskie znaki
- [12] ESP8266 cz. 1. Konfiguracja USARTu, podstawowe komendy
- [12] ESP8266 cz. 2. Komendy Wifi.
- [12] ESP8266 cz. 3. Komendy TCP/IP, zebrany kod.
- [13] SDRAM, przygotowanie projektu w CubeMx
- [14] WWDG, IWDG za pomocą CubeMx
- [15] QSPI, zewnętrzna pamięć flash
- [16] RS485
- [17] Przerwania EXTI
- [18] EM4095, obsługa z TIM2
- [19] Przygotowanie projektu wyświetlacza i panelu dotykowego
- [20] Wiegand
- [21] PN532 UART
- [22] GPS FGPMMOP6
- [23] Bluetooth Microchip RN48
- [24] Sterowanie serwomechanizmem
- [25] FreeRTOS - Zadania
- [26] FreeRTOS - Kolejka
- [27] Wyświetlacz UART M7 axa 4,3''
- [27a] Generowanie czcionek
- [28] Kodek audio WM8994ECS/R
- [29] Modbus RTU RS485 - Przykładowa implementacja
- [30] HTTP - Sterowanie przez stronę internetową
- [31] Czytnik linii papilarnych TFSD400
*#*STM32F1*#*
Poniżej znajdują się przygotowane programy dla mikrokontrolerów z rodziny STM32F1.
STM32 - Nucleo (STM32F103RB - Cortex M3)
- [2] Taktowanie, licznik SysTick
- [3] ADC, wewnętrzny termometr
- [4] USART wysyłanie i odbieranie danych, funkcja printf
- [8] Oszczędzanie energii - opis działania poszczególnych trybów
- [9] Wyświetlacz 7-segmentowy - wyświetlanie znaków
- [10] Opis SPI oraz sposób programowania
- [11] HD44780
- [12] Wyświetlacz graficzny Nokia 5110
- [13] Pamięć EEPROM, I2C
- [14] Watchdog
- [15] PWM na rejestrze przesuwnym
- [16] SSD1306
STM32F103RB - Rejestry
STM32F1 - Biblioteki LL
Poniżej znajdują się przygotowane opisy programowania mikrokontrolerów za pomocą środowiska Cube MX.
STM32F4 - Discovery STM32F407VG
- [1] Pierwszy projekt - Mruganie diodami
- [2] ADC - Podstawowe ustawienia
- [3] DAC - Generacja sygnału sinusoidalnego
- [4] PWM - generacja sygnału
- [5] USART - komunikacja z mikrokontrolera na komputer
- [5a] USART - Odbieranie danych z komputera
- [6] Komunikacja poprzez USB
- [7] USART, DMA Cz. 1
- [8] USART, DMA Cz. 2
- [9] Wyświetlacz LCD HD44780 z konwerterem I2C
- [10] Klasa HID, myszka oraz klawiatura
- [11] USB, Virtual Com Port
- [12] USB, podłączenie pendriva
- [13] DAC
- [14] Wyświetlacz TFT 240x320 ILI9341