⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clock_test.c

📁 MANTIS是由科罗拉多大学开发的传感器网络嵌入式操作系统。 这是mantis的0.9.5版本的源码。
💻 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 + -