Sdílejte chiptron.cz na sociálních sítích



RSS feeds

Tutorial: STM32F746 (STM32F7 Discovery) - jak zapnout LED (ovládání GPIO)Tisk

Tento první článek ze série Tutoriál: STM32F746 (STM32F7 Discovery) bych chtěl věnovat rozsvícení LED resp. základnímu ovládání GPIO. Proč jsem začal psát tyto tutoriály a proč nechci používat HAL nebo Standard Peripheral Library.
Zároveň vzorové příklady kódů mohou sloužit i pro další STM32F (STM32F407, STM32F103, STM32F427, STM32F746 a další) popřípadě STM32L (STM32L100, STM32L152, STM32L476 a další) s menšími změnami - typicky atypické periferie či změna zdroje hodin pro periferie - AHB, APB...
Kódy budou tedy psané pro STM32F746 ve vývojovém prostředí AC6 System Workbench for STM32 od http://openstm32.org. Samozřejmě lze kódy přenášet i na další vývojové IDE jako např. Keil.

Další články o STM32(F7):
Tutorial: STM32F746 (STM32F7 Discovery) - Tlačítkem rozsvítit/zhasnout LED
Tutorial: STM32F746 (STM32F7 Discovery) - jak zapnout LED (ovládání GPIO)
STM32F746 discovery a IDE AC6 (System Workbench for STM32)
Jak začít s moderními mikrokontroléry a proč - STM32

Nejprve: proč nepoužívám HAL nebo Standard Peripheral Library.
Jednoduše řečeno, kódy píší lidi a lidi dělají chyby. Pokud využiju například HAL a zrovna tam bude chyba, po x hodinách hrabání ve vlastním kódu, proč to nefunguje, programátor zamíří do kódu HAL... a to není sranda...
Pak je to o ovládání vlastního kódu, znalosti jeho funkčnosti a možností. HAL nebo Standard Peripheral Library je výborná věc ulehčující práci a pokud ho chcete používat, nikdo vám bránit nebude... ale pak pro vás tento tutoriál nebude.

Tutoriál bude psaný formou hotových okomentovaných kódu a v případě, že bude něco složitějšího či nepřehledného, vysvětlím to zde na stránce. Vemte prosím v potaz, že nikdo není dokonalý a ne vše dobře či srozumitelně popíšu. Vsázím na váš zájem a že si datasheet či reference manual daného čipu projdete :)

main.h

main.c


MODERy[1:0] slouží k nastavení PINu
00: PIN jako vstup
01: PIN jako výstup
10: Alternativní funkce PINu
11: Analogový vstup

OSPEEDRy[1:0] slouží k nastavení maximálně frekvence změny PINu nastaveného jako výstup
00: Low speed
01: Medium speed
10: Fast speed
11: High speed

Celý projekt naleznete zde.

Další články o STM32(F7):
Tutorial: STM32F746 (STM32F7 Discovery) - Tlačítkem rozsvítit/zhasnout LED
Tutorial: STM32F746 (STM32F7 Discovery) - jak zapnout LED (ovládání GPIO)
STM32F746 discovery a IDE AC6 (System Workbench for STM32)
Jak začít s moderními mikrokontroléry a proč - STM32

Upozornění

Administrátor těchto stránek ani autor článků neručí za správnost a funkčnost zde uvedených materiálů.
Administrátor těchto stránek se zříká jakékoli odpovědnosti za případné ublížení na zdraví či poškození nebo zničení majetku v důsledku elektrického proudu, chybnosti schémat nebo i teoretické výuky. Je zakázané používat zařízení, která jsou v rozporu s právními předpisy ČR či EU.
Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva.
Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ.
10,973,333 návštěv