OSDN Git Service

Step 10 added.
[kozos-expbrd/kozos_expbrd.git] / firm / junk / 03 / os / clock.c
1 #include "defines.h"
2 #include "kozos.h"
3 #include "consdrv.h"
4 #include "timerdrv.h"
5 #include "leddrv.h"
6 #include "lib.h"
7
8 /* ¥¿¥¤¥Þ¤Î¥«¥¦¥ó¥È³«»Ï¤ò¥¿¥¤¥Þ¡¦¥É¥é¥¤¥Ð¤Ë°ÍÍꤹ¤ë */
9 static void send_start(int msec)
10 {
11   struct timerreq *req;
12   req = kz_kmalloc(sizeof(*req));
13   req->id = MSGBOX_ID_TIMEXPIRE;
14   req->msec = msec;
15   kz_send(MSGBOX_ID_TIMDRIVE, TIMERDRV_CMD_START, (char *)req);
16 }
17
18 static void send_led_toggle(int target)
19 {
20   char *p;
21   p = kz_kmalloc(2);
22   p[0] = LEDDRV_CMD_LED_TOGGLE;
23   p[1] = '0' + target;
24   kz_send(MSGBOX_ID_LEDDRIVE, 2, p);
25 }
26
27 int clock_main(int argc, char *argv[])
28 {
29   while (1) {
30     send_start(100);
31     kz_recv(MSGBOX_ID_TIMEXPIRE, NULL, NULL);
32     send_led_toggle(0);
33
34     send_start(100);
35     kz_recv(MSGBOX_ID_TIMEXPIRE, NULL, NULL);
36     send_led_toggle(1);
37   }
38
39   return 0;
40 }