#include "90s8515.h" #include "COPOS.h" /* * Test Program 0: Schedules tasks which toggle LEDS */ void Task1(void); void Task2(void); void Task3(void); void Task4(void); void main(void) { Init_OS(); Init_User(); Schedule_Add_HP(Task1, 2000, 4000, NO_AFTER_TASK); Schedule_Add_SP(Task3, 8000, NO_AFTER_TASK); Init_Start(); } void Init_User(void) { DDRB = 0xFF; PORTB = 0xFF; DDRD = 0x00; PORTD = 0xFF; } // Test Hard Periodic Task void Task1(void) { PORTB.1 = !PORTB.1; if (PORTB) { Schedule_Add_HA(Task4, 2000); Schedule_Add_SA(Task2); } CALL_OS; Job_Return(); RETURN_OS; } // Test Soft Periodic Task void Task2(void) { PORTB.2 = !PORTB.2; CALL_OS; Job_Return(); RETURN_OS; } // Test Soft APeriodic Task void Task3(void) { PORTB.3 = !PORTB.3; CALL_OS; Job_Return(); RETURN_OS; } // Test Hard Aperiodic Task void Task4(void) { PORTB.4 = !PORTB.4; CALL_OS; Job_Return(); RETURN_OS; }