adding in ecen425 RTOS final lab
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
#include "clib.h"
|
||||
#include "yakk.h"
|
||||
#include "lab6defs.h"
|
||||
#include "DelayQueue.h"
|
||||
|
||||
extern unsigned int YKTickCounter;
|
||||
extern int GlobalFlag;
|
||||
extern struct msg MsgArray[];
|
||||
extern YKQ* MsgQPtr;
|
||||
|
||||
void resetHandler() {
|
||||
exit(0);
|
||||
}
|
||||
|
||||
void tickHandler() {
|
||||
|
||||
static int next = 0;
|
||||
static int data = 0;
|
||||
|
||||
tickClock();
|
||||
YKEnterMutex();
|
||||
YKTickCounter++;
|
||||
YKExitMutex();
|
||||
|
||||
MsgArray[next].tick = YKTickCounter;
|
||||
data = (data + 89) % 100;
|
||||
MsgArray[next].data = data;
|
||||
if (YKQPost(MsgQPtr, (void*) &(MsgArray[next])) == 0)
|
||||
printString(" TickISR: queue overflow! \n");
|
||||
else if (++next >= MSGARRAYSIZE)
|
||||
next = 0;
|
||||
|
||||
}
|
||||
|
||||
void keyboardHandler() {
|
||||
|
||||
YKEnterMutex();
|
||||
GlobalFlag = 1;
|
||||
YKExitMutex();
|
||||
}
|
||||
Reference in New Issue
Block a user