Пример #1
0
int main(void){
	WDTCTL = WDTPW + WDTHOLD;
	P1DIR = 0x03;
	P1OUT = 0x00;

	
	if (process_rt_create(rtp1,20,50,10,10000) < 0) 
	{
	 	return -1;
	}
	if (process_rt_create(rtp2,20,2000,10,1000) < 0) 
	{
	 	return -1;
	}


	if (process_create (p1,10) < 0) {
	 	return -1;
	}
	
	process_start();
	//P1OUT= 0x02;
	while(1){};
	return 0;	
}
Пример #2
0
int main (void) {
    WDTCTL = WDTPW + WDTHOLD;
    P1DIR = 0x03;
    P1OUT = 0x00;

    realtime_t_init();
    time_init();

    if (process_create (p1,10) < 0) {
        return -1;
    }
    if (process_create (p2,10) < 0) {
        return -1;
    }

    //rt processes
    start.sec = 0;
    work.sec=1;
    deadline.msec=100;
    if (process_rt_create (rt_p1,10, start, work, deadline) < 0) {
        return -1;
    }
    start.sec = 0;
    work.sec=1;
    deadline.msec=90;
    if (process_rt_create (rt_p2,10, start, work, deadline) < 0) {
        return -1;
    }

    process_start();
    P1OUT= 0x02;
    while(1);
    return 0;
}
Пример #3
0
/*--------------------------------------------*/
int main(void) {	
	 
	LED_Initialize();

    /* Create processes */ 
    if (process_create(pNRT, NRT_STACK) < 0) { return -1; }
    if (process_rt_create(pRT1, RT_STACK, &t_pRT1, &t_10sec, &t_1msec) < 0) { return -1; } 
   
    /* Launch concurrent execution */
	process_start();

  LED_Off();
  while(process_deadline_miss>0) {
		LEDGreen_On();
		shortDelay();
		LED_Off();
		shortDelay();
		process_deadline_miss--;
	}
	
	/* Hang out in infinite loop (so we can inspect variables if we want) */ 
	while (1);
	return 0;
}