#include "90s8515.h" #include "COPOS.h" #include "delay.h" /* * Test Program 1: Runs a Soft Aperiodic Task Indefinately * to test correct contect switching */ void Task1(void); void Task2(void); unsigned char counter; void main(void) { Init_OS(); Init_User(); Schedule_Add_HP(Task1, 2000, 4000, NO_AFTER_TASK); Schedule_Add_SA(Task2); Init_Start(); } void Init_User(void) { DDRB = 0xFF; PORTB = 0xFF; DDRD = 0x00; PORTD = 0xFF; counter = 0; } // Test Hard Periodic Task void Task1(void) { PORTB.7 = !PORTB.7; CALL_OS; Job_Return(); RETURN_OS; } // Test Soft Periodic Task void Task2(void) { while (1) { counter++; PORTB = counter; delay_ms(500); } }