Feladatok

Általános információk

A személyre szabott feladatokat az 3. oktatási héttől a lap alján található adatlapról lehet letölteni. 

A házi feladatok ütemezése.
    Feladat kiadás: 4. oktatási hét hétfő (2023. 09.25.)
    Feladat beadás: 11. oktatási hét  péntek déli 12 óráig (2023. 11. 17.)   
    Starter kit visszaadás: 14. oktatási hét (2023. 12. 5-8.)

A házi feladathoz dokumentációt nem kell írni, viszont az elkészített programkód legyen önleíró: jól olvasható, kommentezett, beszédes elnevezésekkel ellátott. Beadás során demonstrálni kell a program működését, és a konzulens kérdéseire válaszolva be kell mutatni az elkészült programkódot.

A Simplicity Studio 4-es verzióját javasoljuk a házi feladat megoldására.

 

A fejlesztői kártya és a fejlesztői környezet

A Silabs EFM32 Giant Gecko Starter Kit (STK3700) itt vehető át:

           Előadást követően vagy gyakorlatokon. 

A Simplicity Studio fejlesztői környezet az alábbi linken érhető el: https://www.silabs.com/developers/simplicity-studio/simplicity-studio-version-4. (A szoftver igen gyorsan változik. A számunkra leginkább kritikus komponense a "32-bit MCU SDK". Ha valaki később telepíti a gépére a Simplicity Studio-t, akkor elképzelhető, hogy modernebb SDK kerül a gépére. Ha csak a harmadik verzió számban van eltérés, az elvileg nem okoz gondot (frissítés esetén egy harmadik verzió számban modernebb SDK felül szokta írni a régit). Ha viszont a második, netán első verzió számban van eltérés, az okozhat gondot egy régebbi verzióhoz készült projektnek. 

Bizonyos házi feladatok megoldásához szükséges az LCD kijelző alsó (alfanumerikus) részének szegmensenkénti vezérlése. Erre az LCD kezeléséhez kiadott gyári API általunk történt kiegészítésével van mód. A kiegészítéshez tartozó forráskódot, a használatukat demonstráló példa projekteket és egy leírást itt tudjátok letölteni. (Figyelem, ez a link 2020.11.03-án módosult! A régi linken elérhető változatban a felső (négy digites, csak numerikus adatok megjelenítésére képes) kijelző kezelésében van hiba. Aki csak az alsó kijelzőt kezeli, nem szükséges frissítenie.)

(Szintént bejelentkezés után tudjátok letölteni a fejlesztői kártya és a fejlesztői környezet bevezetőjét valamint a gyakorló diáit is.)

Touch slider: akiknek a házi feladatban touch slider szükséges a vezérléshez, a lap alján csatolt fájlként találhatnak egy egyszerű mintaalkalmazást, ami alapján elvégezhető az inicializációt és látszik, hogyan kell lekérdezni. 

Azon IMSc hallgatók, akik a házi feladatra IMSc pontot szeretnétek kapni, kérem, hogy a feladat kiadásakor keressék fel konzulensüket, hogy egyeztessék a teendőket. Az IMSc feladat egy kiegészítő feladat, nem része a normál feladatkiírásnak. Lehet a kiegészítő feladat a házi feladat továbbfejlesztése, vagy valamilyen saját projekt kivitelezése. 

Feladat kiadó (a feladatlapot kinyomtatva aláírva el kell hozni)

Irányelvek:
A specifikáció teljesítése mellett tartsátok be a következő irányelveket is a program megírása során:
 
  • Igyekezzetek jól tagolt, könnyen átlátható kódot írni.
  • Tartsátok be a .c és .h fájlokra vonatkozó konvenciókat: a .h fájlok ne tartalmazzanak függvény-implementációkat (ez nem esztétikai kérdés, hanem irányelv, ami könnyebbé teszi a moduláris programfejlesztést nagyobb méretű projekteknél).
  • A logikailag jól körülhatárolt funkciókat tegyétek külön segédfüggvényekbe, a segédfüggvényeket pedig tegyétek egy külön .c fájlba, és ne a main() függvénnyel közös fájlba.
  • A bemutatásra az összes megírt forráskódot hozzátok magatokkal. Gyorsabb az ellenőrzés, ha a teljes projektet elhozzátok.
  • Ha szoftveres pergésmentesítést alkalmaz, és a feladat szempontjából kiritikus a lenyomás pillanata, figyeljen arra, hogy ehhez ne adódjon hozzá a pergésmentesítés ideje.
  • A megszakítások ciklusideje ne legyen túl kicsi. Ehhez érdemes megvizsgálni, hogy a megszakítások közötti időtartamban kb. hány assembly utasítást tud végrehajtani a mikrokontroller.
  • Figyeljen arra, hogy a kijelző frissítési ideje ne legyen túl kicsi.
  • A megszakítási rutinban csak a legszükségesebb műveleteket szabad implementálni. Megszakításban kerülendők az eseményre várakozó, blokkoló utasítások.

 

 

 

© 2010-2024 BME MIT | Hibajelentés | Használati útmutató