Warning
This page is located in archive. Go to the latest version of this course pages.

2. Blikání s LED pomocí assembleru

Cíle cvičení

  1. Instrukční sada, assembler
  2. Vytvořit program v assembleru, který bude blikat s LED2 na nucleu nebo s jinou LED

Co je třeba si připravit

  1. Prostudovat instrukční sadu od strany 50 nebo alespoň vybrané instrukce zde
  2. Seznámit se s registry RCC, GPIO(C) mikrokontroléru STM32F401 v referenčním manuálu

RCC (Reset and clock control)

Bázová adresa je: 0x40023800

Skupina registrů RCC povoluje hodinové signály do jednotlivých periferií (GPIO, TIMER, ADC, …) a tím pádem je třeba pro danou periferii, kterou chceme používat nejprve zavést hodinový signál do příslušného bloku (RCC→AHBxENR, RCC→APBxENR, …). Taktéž zajišťuje nastavení hodinových kmitočtů pro jednotlivé periferie i jádro procesoru.

AHB1ENR

Offset registru je: 0x30

Registr AHB1ENR zajišťuje povolení hodin pro GPIO brány a DMA signály. Podle následujícího obrázku např. nastavením nultého bitu do logické 1 povolíme hodinový signál do brány GPIOA, nastavením do 0 naopak hodinový signál z brány GPIOA odebereme.

GPIOx

Obecná GPIO brána je 16-ti bitová brána, která může být použita jak vstupně-výstupní port pro digitální periferie, tak i analogová brána, pokud se na dané bráně nachází analogové vstupy nebo výstupy. V případě digitální periferie se může jednat jak o softwarově řízené piny, tak je možné využít i předem definované bloky, které jsou harwarově namapované na konkrétní piny procesoru. Toto namapování je poté možné nalézt v datahsheetu na straně 45 v tabulce alternativních funkcí.

courses/b2m37mam/tutorials/02.txt · Last modified: 2021/08/02 12:03 by nentvond