Project

General

Profile

Statistics
| Revision:

root / trunk / code / projects / scheduler / main.c @ 1574

History | View | Annotate | Download (695 Bytes)

1 1573 justin
#include <serial.h>
2
#include <avr/interrupt.h>
3 1479 jsexton
#include "scheduler.h"
4 16 bcoltin
5 1573 justin
void task0(void);
6
void task1(void);
7
void task2(void);
8
9 857 bcoltin
int main(void)
10
{
11 1573 justin
        //Granularity is currently seconds,
12
        usb_init();
13 1419 jsexton
14 1573 justin
        usb_puts("Oh no!!! Reset!!\n\r");
15 967 alevkoy
16 1573 justin
        scheduler_init();
17 1574 justin
        register_task(task0, 48);
18
        register_task(task1, 20);
19
        register_task(task2, 80);
20 1573 justin
21 1394 cmar
        while (1) {
22 1573 justin
                //usb_puti(time_now());
23
                usb_puts("main\n\r");
24 1574 justin
                delay_ms(20);
25 967 alevkoy
        }
26
27
        return 0;
28 16 bcoltin
}
29 773 kwoo
30 1573 justin
void task0() {
31 1574 justin
        int i = 0;
32
        while(1) {
33
                usb_puts("Task 0-");
34
                usb_puti(i++);
35
                usb_puts("\n\r");
36
                delay_ms(20);
37
        }
38 1573 justin
}
39
40
void task1() {
41 1574 justin
        cli();
42
        usb_puts("Hello from task 1\n\r");
43 1573 justin
        sei();
44
}
45
46
void task2() {
47 1574 justin
        cli();
48
        usb_puts("Hello from task 2\n\r");
49 1573 justin
        sei();
50
}