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

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

Sdílejte článek:

Související články

Další pokračování tutoriálu pro STM32 (v tomto případě STM32F746).

Jak jsme vám už psali na sociálních sítích, stránka http://chiptron.

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…

Digital Discovery je nezbytným doplňkem, pokud jste používali Analog Discovery 2, ale rychlost vzorkování byla nedostatečná, počet dostupných digitálních kanálů příliš malý nebo šumy příliš velké pro přečtení dat přenášených většími rychlostmi.

Pokud programujete mikrokontroléry od firmy STM (STM32F4, STM32F0, STM32L1) pomocí Standard Pheripheral Library, tak se vám možná nelíbí velikost výsledného kódu.