Vlastnosti#
Najjednoduchším spôsobom komunikácie procesora mikrokontroléra s okolím je prostredníctvom zápisu alebo čítania binárnej hodnoty na fyzickom vývode púzdra, pine. Skupina pinov je združená do portov, organizácia pinov v portoch závisí od architektúry MCU. Pre procesor sú stavy pinov v portoch mapované do vyhradených pamäťových buniek, registrov, ktoré sú umiestnené na definovaných miestach v pamäti. Širka registrov V STM32 je 16 bitov, každé bit mapuje stav príslušného pinu portu. Podľa veľkost púzdra môže mať mikrokontrolér vyvedených niekoľko portov, pričom na púzdro nemusia byť vyvedené celé porty.
Piny portov môžu mať niekoľko funkcií, môžu byť nastavené ako výstupné pre ovládanie pripojených zariadení alebo môžu byť nastavené ako vstupné pre načítanie binárnych stavov pripojených zariadení. Pre konfiguráciu a obsluhu portov je v mikrokontroléri použitá interný blok onačovaný ako GPIO (General Purpose Input Output).
Základná štruktúra interného zapojenia pinu GPIO pri procesoroch STM32 je na obrázku, podrobný popis je v dokumentácii AN4899.
Obr. 29 Zjednodušené interné zapojenie pinu mikrokontroléru STM32.#
Zapojenie každého pinu portu GPIO obsahuje
ochranné diódy voči krátkodobému prepätiu a ESD
rezistory pre prevádzku portu v režime pull-up, pull-down
digitálne výstupné obvody s výkonovým budičom
digitálne vstupné obvody s komparátorom s hysterézou
pre vybrané piny portov multiplexer pre pripojenie analogových periférií
GPIO umožňuje nastaviť piny portov do základných výstupných konfigurácií
Obr. 30 Konfigurácie výstupného pinu.#
Okrem štandardnej funkcie pinu ako GPIO portu majú piny púzdra aj možnosť alternatívnych funkcií, kedy sú pripojené na interné periférie mikrokontroléra, napr. časovače, sériové rozhrania a pod. Pri návrhu komplikovanejších zariadení s mikrokontrolérom vyžaduje pridelenie pinov portom a perifériam dobré premyslenie návrhu.
Časť pinov GPIO je výrobcom označená ako FT, umožňuje ich použitie pre periférie napájané napätím 5V, aj keď mikrokontrolér je napájaný zo zdroja s napätím 3.3V . Toto značne zjednodušuje pripájanie digitálnych periférii pracujúcich s napätím 5V bez inak potrebného prevodníka úrovní.