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

📄 ar_time.c

📁 Keil开发环境下ARM7内核单片机的ARTX RTOS内核源代码
💻 C
字号:
/*----------------------------------------------------------------------------
 *      A R T X  -  K e r n e l
 *----------------------------------------------------------------------------
 *      Name:    AR_TIME.C
 *      Purpose: Delay and interval wait functions
 *      Rev.:    V2.00 / 19-oct-2005
 *----------------------------------------------------------------------------
 *      This code is part of the ARTX-ARM kernel package of Keil Software.
 *      Copyright (c) 2004-2005 Keil Software. All rights reserved. 
 *---------------------------------------------------------------------------*/

#include "Kernel\ARTX_Config.h"
#include "Kernel\AR_Task.h"

/* AR_Resource.c */
extern P_TCB os_runtask;
extern U16  os_time;


/*----------------------------------------------------------------------------
 *      Functions
 *---------------------------------------------------------------------------*/


/*--------------------------- os_dly_wait -----------------------------------*/

void os_dly_wait (U16 delay_time) {
   /* Delay task by "delay_time" */
   tsk_lock();
   os_block (delay_time, WAIT_DLY);
   tsk_unlock();
} /* end of os_dly_wait */


/*--------------------------- os_itv_set ------------------------------------*/

void os_itv_set (U16 interval_time) {
   /* Set interval length and define start of first interval */
   os_runtask->interval_time = interval_time;
   os_runtask->delta_time = interval_time + os_time;
} /* end of os_itv_set */


/*--------------------------- os_itv_wait -----------------------------------*/

void os_itv_wait (void) {
   /* Wait for interval end and define start of next one */
   U16 delta;

   tsk_lock();
   delta = os_runtask->delta_time - os_time;
   os_runtask->delta_time += os_runtask->interval_time;
   if ((delta & 0x8000) == 0) {
      os_block (delta, WAIT_ITV);
   }
   tsk_unlock();
} /* end of os_itv_wait */

/*----------------------------------------------------------------------------
 * end of file
 *---------------------------------------------------------------------------*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -