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

HW 08 (Nucleo) - LED a tlačítko

Termín odevzdání (st) 16.05.2020 23:59 PDT
Volitelné zadání 1 b
Počet uploadů bez omezení

Cílem této úlohy je získat základní zkušenost s programováním desky Nucleo STM32F446RE a to prostřednictvím prostředí https://developer.mbed.org/ případně křížovou kompilací.

Binární obraz funkční aplikace prg-hw08-nucleo-stm32f446re.zip.

Jan Faigl 2019/04/23 09:30 Aktualizace: Oprava počtu period blikání.

Povinné zadaní

Realizujte program, který bude reagovat na stisk tlačítka na desce Nucleo STM32F446RE a na základě počtu stisků upravuje periodů blikání LED na desce a to následovně:

  • Jednoduchý stisk - postupně dekrementuje periodu blikání z 1000 ms, 500 ms, 400 ms, 300 ms, 200 ms, 100 ms, 50 ms, další stisk pak LED nechá trvale rozsvícenou
  • Dlouhý stisk (delší než 200 ms) - nastavuje periodu na 1000 ms a každý další jednoduchý stisk pokračuje v postupném snižování periody
V mbed.org můžete použít objekty Ticker a/nebo Timer. Ticker lze využít pro peridické volání callback funkce předané objektu metodou attach. Volání callback funkce je zpravidla realizováno jako obsluha přerušení od časovače a obecně platí, že v obsluze přerušení je vhodné se vyvarovat časově náročným operacím jako je například čekání (sleep) nebo čekání na komunikaci. Časovač Timer lze využít pro měření času, např. metodou read_ms().

Odevzdání a hodnocení

Program pokud možno realizujte na cvičení, nahrajte do odevzdávacího systému. Funkčnost programu ověří učitel na cvičení nebo na dalším cvičení.

Program můžete implementovat jak v prostředí mbed tak přímo s křížovou kompilací. V případě mbed pojmenujte soubor hw08-mbed.cpp a v případě křížové kompilace pak hw08-cross.c
Povinné zadání
Název v BRUTE HW08
Odevzdávané soubory hw08-mbed.cpp nebo hw08-cross.c
Argumenty při spuštění žádné
Procvičované oblasti programování pro Nucleo
courses/b3b36prg/hw/hw08.txt · Last modified: 2020/04/21 22:18 by faiglj