www.pudn.com > uCOSII上实现的tcpip.rar > zarch.c


#include "include/zarch.h"



/*This is OS time function, and value is 0.01s*/
sys_time_t sys_get_time()
{
	return OSTimeGet();
}

sys_sem_t   sys_new_sem(u8_t value)
{
	return OSSemCreate(value);
}



void sys_wait_sem(sys_sem_t sem, u16_t timeout, u8_t *err)
{

	OSSemPend(sem, timeout, err);
	if ( *err == OS_NO_ERR)
	{
		*err = 0;	
	}
}


u8_t sys_signal_sem(sys_sem_t sem)
{

	if ( OSSemPost(sem) == OS_NO_ERR )
		return 0;
	else
		return -1;
}

void sys_reset_sem(sys_sem_t sem, u8_t value)
{
	sem->OSEventCnt = value;
	return 0;
}

task_t sys_current_task(void)
{
	task_t	task;
	sys_enter_critical();
	task = OSTCBCur->OSTCBPrio;
	sys_exit_critical();
	return task;
}

void sys_delay(u16_t dtime)
{
	OSTimeDly(dtime);
}