Otevře se na nové kartě

USART1 – přerušení/interrupt STM32L100

Další mini pokračování z předchozího článku o programování USARTu pro STM32L100 a jemu podobné typy (STM32F0, STM32F3, STM32F4…)

USART – STM32L100

V tomto článku se znova podíváme na USART, tentokrát ale s přerušením. Budeme řešit jenom jeden, trochu větší problém a to zápis přerušení do NVIC (Nested vectored interrupt controller) a ISER (Interrupt Set Enable Register). Článek opět vychází ze stránek http://joudove.8u.cz/.

Zde přibyl pouze kousek kódu a to povolení přerušení od přijmu (receive).

Poté ještě povolíme přerušení v řadiči přerušení.

Tuto část vysvětlím. Každé přerušení má své číslo, toto číslo se musí zapsat do registru NVIC resp. ISER.

USART1 má číslo 37. To se nám ovšem do 32 bit registru nevejde. Proto je ISER rozdělen na ISER[0] a ISER[1]. V ISER[0] jsou přerušení od 0 do 31 a v ISER[1] od 32 do 56. Část seznamu přerušení vidíte níže.

Kompletní seznam najdete v stm32l1xx.h.

A zpět k předešlému zápisu. Ten upravený vychází ze zápisu:

Pro zakázaní přerušení je použit zápis:

Předchozí část kódu byl zkrácený zápis tohoto. Jinak ho můžete také zapsat takto:

Což ve zkratce znamená, že s hodnotou USART1_IRQn = 37 provedeme bitový součin (&) s hodnotou 0x1F (31) což ve výsledku dá hodnotu 5. Po bitovém posunu o 5 se povolí přerušení od USART1.

Na závěr přikládám zdrojové kódy:

MAIN.C

Do STM32L1xx_it.c někam přidáme obsluhu přerušení:

Sdílejte článek:
Tričko Chiptron s potiskem Trust me, I'm a maker
Ukaž světu,
že jsi Maker!
Koupit tričko
Kafe pro Chiptrona
Dodej energii dalšímu článku
Buy Me a Coffee

Související články

Schéma registrů GPIO_AFR pro výběr alternativních funkcí pinů STM32

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.

Výřez kódu STM32duino definující hardwarová rozhraní USART a funkce Serial

Ve třetím díle si ukážeme použití snad nejpopulárnější sběrnice – USART, v Arduino světě je nazývána jako Serial.

Vývojový diagram blikání LED pomocí přerušení časovače SysTick

Takže tu máme druhý program, opět blikání LEDkou, ale tentokrát pomocí přerušení od časovače SysTick.

Detail desky STM32F7 Discovery s tlačítky, LED a mikrokontrolérem

Tento první článek ze série Tutoriál: STM32F746 (STM32F7 Discovery) bych chtěl věnovat rozsvícení LED resp.

Schéma zapojení uživatelského tlačítka, rezistorů a kondenzátoru pro STM32F7

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

Logo CHIPTRON s grafickým motivem elektronické desky

Na ruských stránkách microtechnics.ru jsem našel několik užitečných návodů, jak si vyzkoušet několik zajímavých periférií s mikrokontrolérem STM32F4 v programu STM32CubeMX.

Trendy