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; }
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; }
/*--------------------------------------------*/ 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; }