- Vysvětlení hardwaru vývojové desky STM32 Nucleo 64
- Programování vývojových desek STM32 Nucleo 64
- Začínáme s STM32F401
- Závěr
- Video
Pro většinu lidí by první integrovaná vývojová deska, na které by pracovali, byla s největší pravděpodobností deska Arduino. Ale stejně jako všichni mohou souhlasit, vaše Arduino vás může vzít jen tak daleko a jednoho dne budete muset přejít na nativní platformu mikrokontroléru. Tento proces lze s touto vývojovou deskou STM32 mnohem usnadnit, protože může podporovat všechny štíty Arduino, které vám pomohou po hardwarové stránce, a má také mnoho vestavěných knihoven a funkcí, které vám pomohou po softwarové stránce. Také seznámení s mikrokontroléry STM32 vám pomůže snadno prozkoumat další vývojové moduly od ST, jako je SensorTile.Box, který jsme dříve zkontrolovali. V tomto článku se tedy podrobně podívejme na tyto vývojové desky STM32 Nucleo-64 a naučíme se, jak je používat.
Nyní je k dispozici mnoho verzí desek STM32 a tato konkrétní v mé ruce se nazývá STM32F401 Nucleo-64. Název STM32 znamená, že na naší vývojové desce máme 32bitový mikrokontrolér, a název Nucleo-64 představuje, že mikrokontrolér má 64 pinů. Podobně existuje mnoho dalších verzí desek Nucleo 64, jako jsou STM32F103, STM32F303 atd., Ale jakmile se dozvíte o jedné desce, všechny ostatní jsou si docela podobné.
Vysvětlení hardwaru vývojové desky STM32 Nucleo 64
Začněme rozbalením naší vývojové desky. Jak vidíte, kompletní balíček se skládá pouze z naší vývojové desky a instruktážní karty. Karta s instrukcemi zmiňuje specifikace řadiče, jeho pinouty a na zadní straně máme nějaké informace o tom, jak začít, a dostupné možnosti řetězců nástrojů.
Při bližším pohledu na desku zjistíme, že je deska rozdělena do dvou oblastí. Horní část je ST-Link / V2 debugger a programátor, zatímco spodní část je vaše skutečná vývojová deska. Tímto způsobem můžete snadno programovat a ladit svoji desku z krabice pouze pomocí dalšího kabelu USB, který lze připojit k USB mini portu na desce.
Na první pohled se může zdát, že deska obsahuje spoustu propojek a komponent, ale všechny jsou tu, aby nám to usnadnily. Dva propojky, které najdete po obou stranách desky CN11 a CN12, jsou ve skutečnosti fiktivní propojky, tyto můstky lze v případě potřeby použít pro jiné účely. Dva propojky na CN2 se používají k propojení sekce programátoru a debuggeru s naší vývojovou deskou. V budoucnu můžete tyto propojky odstranit a pomocí těchto pinů použít programátor pro další mikrokontroléry ST. A tento konektor JP1 lze uzavřít, aby se omezil proud USB na 100 mA, pokud zůstane otevřený, maximální proud bude 300 mA. Tady máme Tricolor LED (LD1), která se rozsvítí červeně, když je deska napájena, a svítí zeleně, když je deska úspěšně naprogramována, a svítí oranžově, když dojde k chybě komunikace.
Pohybem dolů do vývojové sekce zde máme naši nejdůležitější součást, mikrokontrolér STM32F401RET6. Jedná se o 64kolíkový 32bitový mikrokontrolér s procesorem ARM Cortex M4 pracujícím na frekvenci 84 MHz. Má také 512 kB Flash a 96 kB SRAM. Mikrokontrolér má 10 časovačů 16bitových a 32bitových a jeden 12bitový ADC. Má také tři USART, tři I2C, čtyři SPI a jedno USB 2.0 pro externí komunikaci. Další technické informace najdete v datovém listu STM32F401.
Nyní přichází zajímavá část, jak jsem vám již dříve řekl, že deska podporuje všechny štíty Arduino. Deska má dvě sady konektorů, samičí piny jsou určeny pro štíty Arduino, které se perfektně hodí k našemu štítu Wi-Fi ESP8266 a našemu štítu Semtech Arduino LoRa, jak vidíte na obrázku níže.
Ostatní samci se nazývají kolíky ST morpho, které lze použít k využití vystružovacích kolíků na našem 64kolíkovém mikrokontroléru. Pak zde máme resetovací tlačítko a uživatelsky konfigurovatelné tlačítko, které je připojeno k pinu PC13, a také zde LED, která je připojena k pinu D13 stejně jako Arduino. K napájení desky můžeme použít buď USB port, nebo přímo poskytnout regulovaných 5V na E5V nebo na 5V pin zde. Nezapomeňte změnit tento jumper, abyste označili, jak napájíte desku; U5V znamená, že deska je napájena z USB. Máme zde také další zajímavý propojovací kolík s názvem IDD, který lze použít k měření, kolik proudu váš mikrokontrolér spotřebovává připojením ampérmetru k těmto pinům.
Programování vývojových desek STM32 Nucleo 64
Pokud jde o softwarovou sekci, deska má obrovskou podporu knihoven a programování a lze ji programovat pomocí Keil, IAR workbench a mnoha dalších IDE. Zajímavostí však je, že podporuje vývojové prostředí ARM Mbed a STM32Cube. Kvůli tomuto článku jsem se rozhodl použít platformu ARM Mbed, protože je to online nástroj, a shledal jsem to velmi zajímavým, protože s ním můžete nejen své desky ST, ale i mnoho dalších vývojových desek, které používají mikrokontrolér ARM.
Pro ty, kteří jsou noví, je ARM MBED online vývojová platforma poskytovaná samotným ARM a poskytuje integrovaný operační systém, cloudové služby a funkce zabezpečení pro snadné vytváření integrovaných řešení založených na IoT. Jedná se o obrovskou komunitu otevřených zdrojů a její podrobný popis bude vyžadovat samostatný článek.
Začínáme s STM32F401
Chcete-li však začít, propojte vývojovou desku STM32 s počítačem pomocí USB kabelu. Jakmile je napájen, měli byste si všimnout, že LED diody LD1 a LD3 svítí červeně a programovatelná LED LD2 bude takto zeleně blikat.
Na počítači si také všimnete nové jednotky flash s názvem „NODE_F401RE“. Otevřete jej a najdete dva soubory, a to details.txt a mbed.htm, jak je uvedeno níže.
Můžete spustit soubor Mbed.htm a začít přímo programovat vaši desku online pomocí arm Mbed. Než se tam ale dostaneme, nainstalovali jsme požadované ovladače a přihlášení k Mbed. Vyhledejte software ovladače STSW-link009 a stáhněte jej přímo z webu ST, nainstalujte ovladač a ujistěte se, že je zařízení ve správci zařízení správně objeveno, jak je znázorněno zde.
Vraťte se na svou platformu mbed a zaregistrujte se na MBED.com pomocí svých přihlašovacích údajů. Poté klikněte na soubor MBED.HTM a budete uvítáni následující stránkou.
Přejděte dolů a klikněte na „ Otevřít kompilátor Mbed “. Jak vidíte, překladač již naši platformu rozpoznal jako Nucleo-F401RE a poskytuje nám spoustu základních ukázkových programů. Prozatím mi dovolte vybrat „ LED Blinky kód “ a upravit jej tak, aby LED zhasla, kdykoli stisknu tlačítko.
Jakmile je kód připraven, jak je znázorněno níže, můžete kliknout na tlačítko kompilace, které vám poskytne soubor bin, stačí zkopírovat soubor bin a vložit jej na flash disk a naprogramovat tak vaši desku. Jakmile je programování dokončeno, LED LD1 se rozsvítí zeleně. Nyní stiskněte modré tlačítko a všimnete si, že zelená LED zhasla. Stejně tak můžete vyzkoušet některý z ukázkových programů a naučit se různé funkce desky. Můžete se také vrátit na hlavní stránku a získat další technické dokumenty a podporu komunity.
Můžete také sledovat video propojené ve spodní části této stránky a zobrazit celou recenzi na této desce.
Závěr
Celkově se domnívám, že tyto desky jsou vynikající volbou, pokud se snažíte vylepšit své dovednosti a vyvíjet pokročilé aplikace. Díky praktické hardwarové podpoře a online komunitě je křivka učení těchto desek také poměrně jednoduchá, takže to možná budete chtít vyzkoušet. Doufám, že se vám článek líbil a naučili jste se z něj něco užitečného. Pokud máte nějaké dotazy, nechte je v sekci komentářů níže nebo použijte naše fóra pro další technické dotazy.