void a_main() { // Debug trigger enable_LED(PORTL0); disable_LED(PORTL0); // Initialize components uart_init(); uart1_init(); init_ADC(); mode_PORTA_INPUT(JOYSTICK_PIN_HORZ); mode_PORTA_INPUT(JOYSTICK_PIN_VERT); DDRA = 0xFF; disable_LED(PORTL0); disable_LED(PORTL2); disable_LED(PORTL5); disable_LED(PORTL6); // Initialize tasks Task_Create(Task_ReadJoystick, 1, 0); Task_Create(Task_WriteBluetooth, 2, 0); Task_Create(Idle, 10, 0); // Kill the initialization task Task_Terminate(); }
void a_main(){ DDRA |= (1<<PA0); DDRA |= (1<<PA1); DDRA |= (1<<PA2); DDRA |= (1<<PA3); PORTA &= ~(1<<PA0); PORTA &= ~(1<<PA1); PORTA &= ~(1<<PA2); PORTA &= ~(1<<PA3); e=Event_Init(); Task_Create(Ping,1,0); Task_Create(Pong,1,0); Task_Terminate(); }
void a_main() { Task_Create(Task_P1, 1, 0); Task_Create(Task_P2, 2, 0); Task_Create(Idle, MINPRIORITY, 0); disable_LED(PORTL0); disable_LED(PORTL2); disable_LED(PORTL5); disable_LED(PORTL6); enable_LED(PORTL0); disable_LED(PORTL0); Task_Terminate(); }
void Task_2() { //2. Create Task_1 which will signal Task_2 Task_Create(Task_1, 1, 0); //3. Wait for signal, this will yield to the lower priority task_1 Event_Wait(blink_increment); //6. Run the blink int i; for(i = 0; i<blinks; i++) { PORTB = 0x10; _delay_ms(500); PORTB = 0x00; _delay_ms(500); } //7.Terminate Task_2, continue to Task_1 Task_Terminate(); }
void a_main() { mut1 = Mutex_Init(); task1 = Task_Create(Task_P1, 1, 0); task2 = Task_Create(Task_P2, 2, 0); task3 = Task_Create(Task_P3, 3, 0); Task_Create(Idle, MINPRIORITY, 0); disable_LED(PORTL0); disable_LED(PORTL2); disable_LED(PORTL5); disable_LED(PORTL6); enable_LED(PORTL0); disable_LED(PORTL0); Task_Terminate(); }
void Task_1() { //4. Signal to Task_2 waiting on blink_increment Event_Signal(blink_increment); //8. Run and increment the blinks int i; for(i = 0; i<blinks; i++) { PORTB = 0x20; _delay_ms(500); PORTB = 0x00; _delay_ms(500); } blinks++; //9. Create Task_2 Task_Create(Task_2, 0, 0); //10. Terminate the task, restarting the loop at Task_2 Task_Terminate(); }
void a_main() { mut = Mutex_Init(); evt = Event_Init(); Task_Create(Task_P1, 1, 0); Task_Create(Task_P2, 2, 0); Task_Create(Task_P3, 3, 0); Task_Create(Idle, 10, 0); disable_LED(PORTL0); disable_LED(PORTL2); disable_LED(PORTL5); disable_LED(PORTL6); enable_LED(PORTL0); disable_LED(PORTL0); Task_Terminate(); }