- s pomocou CubeMX vytvoriť nový projekt a nastaviť počiatočnú konfiguráciu mikrokontrolera
- v názve adresy, kde vytvárame projekt, sa nesmie nachádzať diakritika ani medzery (može to sposobovať problemy)!
- predstavenie nového zadania
- projekt je týmto krokom vytvorený a prechádza sa do prostredia CubeMX, kde sa konfigurujú periférie MCU
- nastavenie funkcie GPIO alebo ich priradenie k periférii (podľa potreby)
- konfigurácia konkrétnych GPIO, ktoré boli zvolené v predošlom kroku
- v nastaveniach hodín (clock configuration) nie je nutná žiadna zmena, pretože nám stačí počiatočná konfigurácia
-
nastavenia, ktoré cheme nastaviť ešte pred samotným generovaním kódu
-
pre každú použitú perifériu bude vygenerovaný ".c" a ".h" súbor
- zvolenie "LL - low level" knižnice
- vygenerovanie kódu
-
Toto zadanie priamo nadväzuje na zadanie z predchádzajúceho cvičenia - zadanie_cv1. Vytvorte aplikáciu pre detegovanie hrany vstupného signálu privedeného na vstup MCU pričom LED pripojená na jeho výstup bude indikovať úspešnú detekciu hrany. Vstupný signál je privedený na pin GPIOA-3. Hrana je generovaná prostredníctvom tlačidla. Výstupný signál je privedený na pin GPIOA-4.
EDGE_TYPE edgeDetect(uint8_t pin_state, uint8_t samples);
- Vstupný parameter "pin_state" predstavuje aktuálny stav vstupného pinu, na ktorom sa deteguje hrana. Nadobúda hodnotu "1" alebo "0".
- Vstupný parameter "samples" definuje koľkokrát v rade musí byť detegovaný nový stav vstupného pinu, aby sa to považovalo za hranu - stlačenie tlačidla.
- Príklad:
- predchádzajúci stav = 0, aktuálny stav = 1, samples = 5
- aby bola detegovaná hrana, musí sa 5-krát v rade prečítať rovnaký stav tj. 0,1,1,1,1,1 - nábežná hrana bola detegovaná
- ak by pri čítaní zo vstupného pinu nastala situácia 0,1,1,1,0,1 - pri zmene stavu z 0 na 1 sa na vstupe vyčítala hodnota 1 len 3-krát v rade, vyhodnotí sa to ako "žiadna hrana", pretože nebola splnená podmienka.