|
Kategorie: Diplomové, bakalářské práce |
Tento dokument chci!
Předmětem této práce je studium stávajícího vývojového řetězce pro mikroprocesor LPC23xx v předmětu MPOA. Hlavním cílem je zkoumání možností realizace nového vývojového řetězce, postaveného na GCC. Výstupy této práce jsou ukázkové aplikace s mikroprocesorem LPC2378 a GCC. Součástí vysledků jsou i návody pro studenty, jak tyto ukázkové aplikace implementovat. Ukázky zahrnují základní aplikace, RTOS aEthernet.
funkci kbd_init třeba správně nastavit hodnoty předpřipravených
. Při nastavení jednotlivých přerušení tedy
třeba správně nastavit VIC. našem případě
již máme nadefinován typ time takto:
typedef struct
{
unsigned char hh; //hodiny
unsigned char mm; //minuty
unsigned char ss; //vteriny
unsigned char ms; //desetiny vteriny
} time;
Pro další zjednodušení úlohy máte hlavním souboru main.
Dalším krokem doplnění ovladače tlačítka využití přerušení.
Prvním krokem pro zrealizování požadované aplikace může být dokončení procesu
realizující hodiny. Jelikož, jádro
ARM jen dva přerušovací vstupy (IRQ FIQ). Po
spuštění aplikace LCD měl objevit nápis:
MPOA: 06
Cas:11:00:11:x
Přičemž místě budou neustále probíhat čísla 9.81
realizovat hodiny, druhý bude realizovat stopky. První ukazatel řetězec char,
druhý ukazatel proměnnou typu time. našem případě třeba dokončit modulu
kbd_drv. Připravenou kostru tedy možné přeložit nahrát desky MCB2300.
Ovladač tlačítka již předpřipraven složce KBD skláda dvou souborů.ss 60)
{
cas.
V jazyce vlastní typy deklarují klíčovým slovem typedef.ss++;
if(cas. Jelikož časový údaj obecně skláda
z několika čísel různým významem, vhodné pro tuto aplikaci použít vlastní typ
proměnné. ISR funkci.
Jde soubory kbd_drv.c předpřipravenou
funkci pro zformátování datového typu time řetězec znaků char.c kbd_drv. Zde třeba dokončit inkrementaci proměnné obsahující čas.ss 0;
}
}
Obdobným způsobem lze realizovat inkrementaci minut hodin. Tento blok umožňuje jakoby sloučit všechna
přerušení jednoho použít pro jádro. prvním procesu task_hodiny již
realizována ukázka jak použít proměnnou time jakým způsobem realizovat výpis na
LCD.c funkci pro inicializaci ovladače dále vytvořit funkci pro obsluhu přerušení,
tzv. Tato funkce se
jmenuje print_time() očekává dva parametry.ms 10)
{
cas.ms 0;
cas.h. Pro
inkrementaci vteřin možno použít takovýto kód:
if(cas. MCU integrován pomocný blok
VIC (Vectored Interrupt Controller)