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

📄 profile.c

📁 三星ARM9 CPU S3C2410 底层开发驱动包-Samsung ARM9 CPU bottom S3C2410 development drive packages
💻 C
字号:
/**************************************************************
 NAME: profile.c
 DESC: To measuure the USB download speed, the WDT is used.
       To measure up to large time, The WDT interrupt is used.
 HISTORY:
 MAR.25.2002:purnnamu:  
     S3C2400X profile.c is ported for S3C2410X.
 **************************************************************/
#include "def.h"
#include "option.h"
#include "2410addr.h"
#include "2410lib.h"
#include "2410slib.h" 

#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>

/************************* Timer ********************************/
static int intCount;

void __irq IsrWatchdog(void);

void Timer_InitEx(void)
{
	intCount=0;	
	pISR_WDT=(U32)IsrWatchdog;
	ClearPending(BIT_WDT);
	rINTMSK&=~(BIT_WDT);
}


void Timer_StartEx(void)
{
	int divider=0;
	rWTCON=((PCLK/1000000-1)<<8)|(0<<3)|(1<<2);	// 16us
	rWTDAT=0xffff;
	rWTCNT=0xffff;   

	// 1/16/(65+1),interrupt enable,reset disable,watchdog enable
	rWTCON=((PCLK/1000000-1)<<8)|(0<<3)|(1<<2)|(0<<0)|(1<<5);   
}



float Timer_StopEx(void)
{
	int count;
	rWTCON=((PCLK/1000000-1)<<8);
	rINTMSK|=BIT_WDT;
	count=(0xffff-rWTCNT)+(intCount*0xffff);
	return ((float)count*(16e-6));
}


void __irq IsrWatchdog(void)
{
	ClearPending(BIT_WDT);
	intCount++;   	
}



⌨️ 快捷键说明

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