Naučit se s STM32 nebylo doposud jednoduší. S novou řadou STM32C0 přichází STMicroelectronics i s devíti videi o tom, jak s STM32C0 začít. Informace se ale hodí i pro další řady STM32, protože spousta například periférií bude stejných či velmi podobných.
STM32 můžete používat i v Arduino IDE. Díky STM32duino, o kterém jsem se rozepsal tady, není problém použít STM32 s adresovatelným RGB LED páskem nebo s nejrůznějšími čidly jako je SHT40 (Adafruit knihovna), SCD41 (Sensirion knihovna), BMP180 a další.
Což jsem si sám ověřil.
#dnesbastlim teda kopíruji a vkládám vzorový kód do STM32G071 v Arduino (díky stm32duino).
Vyzkoušel jsem SHT40, BMP180, SCD41, OLED 128×64 (ssd1306) s použitím výchozí I2C1 sběrnice i I2C2.
Všechno funguje a můj 5 let starý návod je stále platnýhttps://t.co/VTKhd6lzNT pic.twitter.com/iTNb2Ov07g— chiptron.cz (@chiptronCZ) June 12, 2023
Ale zpět k STM32C0. Kromě programování alá Arduino můžete využít klasické Céčko. Výhod je bezpočet – menší velikost kódu, porozumnění jak kód pracuje, ale také přenositelnost či možnost ladění.
STMicroelectronics na svém youtube kanále připravilo playlist o devíti videích, kde je srozumitelně popsáno použití. V jednotlivých videích zjistíte jak rozblikat LEDku (takový základ!), použít časovač ve spojení s PWM regulací, použití UART, ADC a také DMA přenos, nechybí ani informace o RTOS (Real-Time Operating System).
Playlist najdete na https://www.youtube.com/playlist?list=PLnMKNibPkDnG_5q6DLNTMSBo5V24VXUDn
Pokud vám ale potřebný hardware chybí a nejste si jistí, zda ho koupit, mrkněte na simulátor Wokwi!
Tento simulátor nepodporuje jenom Arduino Uno, ESP32 ale také STM32C031 (a další 😉 )
Wowki připravilo i vzorové kódy pro použití s I2C displejem, SPI displejem a GPIO.
Více info na https://docs.wokwi.com/parts/board-st-nucleo-c031c6
Proč ale použít STM32C0?
1) Energetická účinnost: Mikrokontroléry STM32C0 jsou navrženy tak, aby byly velmi úsporné, což je činí vhodnými pro aplikace s bateriovým napájením. Mají nízkou spotřebu energie jak v aktivním, tak v režimu spánku, což prodlužuje výdrž baterie a snižuje energetické požadavky.
V shutdown režimu je spotřeba 20nA (probuzení skrze reset nebo interrupt přes vybrané GPIO)
Ve standby režimu je hodnota 8uA, probuzení už ale může způsobit jak GPIO, tak třeba i watchdog.
V normálním provozu se pak spotřeba pohybuje na 80uA/1MHz, maximální frekvence je 48 MHz.
2) Cena: Mikrokontroléry STM32C0 nabízejí cenově efektivní řešení pro mnoho aplikací v oblasti vestavěných systémů. Poskytují dobrou kombinaci výkonu a funkcí za konkurenceschopnou cenu, což je činí vhodnými pro širokou škálu projektů s omezeným rozpočtem.
3) Možnosti paměti: Mikrokontroléry STM32C0 nabízejí různé možnosti paměti, včetně flash paměti pro uložení programu a SRAM pro uložení dat. Množství dostupné paměti se liší v závislosti na konkrétním modelu mikrokontroléru, což umožňuje vývojářům vybrat vhodnou variantu podle požadavků jejich aplikace.
4) Bohaté periferie: Řada STM32C0 zahrnuje širokou škálu integrovaných periferií, jako jsou časovače, UART, SPI, I2C, ADC a GPIO, které poskytují flexibilitu při rozhraní s externími zařízeními. Tento bohatý soubor periferií usnadňuje vývoj a umožňuje implementaci různých funkcionalit ve vestavěných systémech.
Tato kapitola byla vytvořena pomocí chatGPT a upravena redaktorem