📄 clock_test.c
字号:
// This file is part of MANTIS OS, Operating System// See http://mantis.cs.colorado.edu///// Copyright (C) 2003,2004,2005 University of Colorado, Boulder//// This program is free software; you can redistribute it and/or// modify it under the terms of the mos license (see file LICENSE)#include "mos.h"#include "printf.h"#include <string.h>#include "clock.h"#include "sem.h"/** * File: clock_test.c * Author: Adam, Charles, Cyrus, Jeff * Date: 05-24-2004 * * Description: This app is for testing the clock alarm service * */mos_sem_t alarm0_sem, alarm1_sem, alarm2_sem, alarm3_sem;mos_alarm_t timer0;mos_alarm_t timer1;mos_alarm_t timer2;mos_alarm_t timer3;mos_alarm_t timer4;mos_alarm_t timer5;void test_alarm0 (void *data){ mos_sem_post (&alarm0_sem); mos_alarm (&timer0, 3, 0);}void test_alarm1 (void *data){ mos_sem_post (&alarm1_sem); mos_alarm (&timer1, 2, 500000);}void test_alarm2 (void *data){ mos_sem_post (&alarm2_sem); mos_alarm (&timer2, 13, 0);}void test_alarm3 (void *data){ mos_sem_post (&alarm3_sem); mos_alarm (&timer3, 1, 0);}void alarm0_thread (void){ mos_sem_init (&alarm0_sem, 0); timer0.func = test_alarm0; timer0.data = "Timer 0: 3 seconds"; mos_alarm (&timer0, 3, 0); while (1) { mos_sem_wait (&alarm0_sem); printf ("Alarm 0 expired\n"); }}void alarm1_thread (void){ mos_sem_init (&alarm1_sem, 0); timer1.func = test_alarm1; timer1.data = "Timer 1: 2 seconds 500000 u-seconds"; mos_alarm (&timer1, 2, 500000); while (1) { mos_sem_wait (&alarm1_sem); printf ("Alarm 1 expired\n"); }}void alarm2_thread (void){ mos_sem_init (&alarm2_sem, 0); timer2.func = test_alarm2; timer2.data = "Timer 2: 13 seconds"; mos_alarm (&timer2, 13, 0); while (1) { mos_sem_wait (&alarm2_sem); printf ("Alarm 2 expired\n"); }}void alarm3_thread (void){ mos_sem_init (&alarm3_sem, 0); timer3.func = test_alarm3; timer3.data = "Timer 3: 1 second"; mos_alarm (&timer3, 1, 0); while (1) { mos_sem_wait (&alarm3_sem); printf ("Alarm 3 expired\n"); }}void start(void){ printf ("\nStarting clock test -- REBOOT!!\n"); // 3 seconds mos_thread_new (alarm0_thread, 128, PRIORITY_NORMAL); // 2.5 seconds mos_thread_new (alarm1_thread, 128, PRIORITY_NORMAL); // 13 seconds mos_thread_new (alarm2_thread, 128, PRIORITY_NORMAL); // 1 second mos_thread_new (alarm3_thread, 128, PRIORITY_NORMAL); print_clock_list (); printf ("%s", "Now we begin!\n"); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -