Mérés laboratórium 3. - 3. mérés
Ez az oldal a korábbi SCH wikiről lett áthozva.
Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!
Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.
vissza a Mérés 3 tárgyhoz
A mérési útmutató hosszától nem kell megijedni, mert a nagy részét már úgyis tudja mindenki Oprendszerekből, csak itt gyakorlatiasabb formában megismerjük a taszkok/szemaforok kezelését, stb... Az 1. feladat egyszerű regiszterkezelés, amihez a delay.h header fájlban lévő késleltető függvényt kell majd használni. Erről részletesebb leírást a feladathoz kiadott vázfájl "Software wait loops" komment része ad. (Szándékosan nem írom le a függvény nevét, mert a kommentben még más információ is van.) A vázfájlok elején lévő "INT[4-7] is on PORTE.[4-7]" komment néhány embernél félreértésre adott okot, ami aztán (teljesen jogosan) kicsapta a biztosítékot Csordás Péternél (mérésvezető). :) A portokat nem tömbként kezeljük, tehát NINCS olyan, hogy PORTA[5]=1! Egy-egy port regisztereinek a beállításához, vagy lekérdezéséhez a bitenkénti (bitwise) operátorokat kell használni.
A szemaforok kezelése nem olyan bonyolult, mint ahogy az tűnik, csak alaposan át kell olvasni a kiadott API leírást. (Röviden: létre kell hozni egy szemafort. Ezután (tipikusan LCD-re írás előtt) várakozni kell a szemaforra. Ha a szemafor szabaddá vált, vagyis nem használja egyik taszk sem az LCD-t, akkor lefoglaljuk a szemafort, kiírunk valamit, majd elengedjük a szemafort. Ennyi.)
-- Tóth Gábor - 2011.09.04.