timer.c

来自「一个很好的ucos核心代码」· C语言 代码 · 共 44 行

C
44
字号
#include "s3c4510.h"
#include "datatype.h"

void InitTimer(U8 timer, U32 freq, U8 mode)
{
	U32 i;
	
	if(!timer)
	{
		i  = inport(TMOD);
		i &= 0x38;				
		i |= mode?3:1;
		outport(TMOD, i);
		outport(TDATA0, MCLK/freq);		
	}
	else
	{
		i  = inport(TMOD);
		i &= 7;				
		i |= mode?0x18:8;
		outport(TMOD, i);
		outport(TDATA1, MCLK/freq);		
	}
}

U32 GetTimerVal(U8 timer)
{
	if(!timer)
		return inport(TCNT0);
	else
		return inport(TCNT1);		
}

void Delay(U32 cnt)
{
	U32 i;
	
	i = GetTimerVal(0);
	for( ; cnt; cnt--)
	{
		i = GetTimerVal(0);
		while(GetTimerVal(0)<i);
	}	
}

⌨️ 快捷键说明

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