📄 ar_time.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 + -