示例#1
0
int main(void)
{
    /* initialise kernel */ 
    si_kernel_init(); 
    
    /* initialise UI channel */ 
    si_ui_init(); 

    /* initialise semaphore */ 
    si_sem_init(&Mutex, 1); 

    /* create tasks */ 

    si_task_create(display_task, &Display_Stack[STACK_SIZE - 1], 10);

    si_task_create(change_task, &Change_Stack[STACK_SIZE - 1], 20);

    si_task_create(exit_task, &Exit_Stack[STACK_SIZE - 1], 15);

    /* start the kernel */ 
    si_kernel_start(); 

    /* will never be here! */ 
    return 0; 
}
示例#2
0
/* clock_init: initialise clock */ 
void clock_init(void)
{
    /* initialise time and alarm time */ 

    Clock.time.hours = 0; 
    Clock.time.minutes = 0; 
    Clock.time.seconds = 0; 

    Clock.alarm_time.hours = 0; 
    Clock.alarm_time.minutes = 0; 
    Clock.alarm_time.seconds = 0; 
    
    /* alarm is not enabled */ 
    Clock.alarm_enabled = 0; 

    /* initialise semaphores */ 
    si_sem_init(&Clock.mutex, 1); 
    si_sem_init(&Clock.start_alarm, 0); 
}
示例#3
0
/* init_clock: initialises the clock variables */ 
void init_clock(void)
{
    /* set starting time */ 
    Hours = 11; 
    Minutes = 59; 
    Seconds = 45; 

    /* initialise semaphore */ 
    si_sem_init(&Mutex, 1); 
}
示例#4
0
void init_task_stop(void)
{
    si_sem_init(&Task_Stop_Sem, 0); 
}