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

📄 timer.c

📁 ucos 在 arm9 芯片上的移植
💻 C
字号:
#include "drv_vic.h"#include "includes.h"#include "timer.h"void TMR_ms_isr(void);void TMR_Initialize(void){	//DRV_VIC_AttachISR( VECTOR_TIMER1, INT_TMR1_2, TMR_ms_isr);    DRV_VIC_AttachISR( VECTOR_TIMER1, INT_TMR1_2, OSTickISR);	/* %jp{僞僀儅摦嶌奐巒} */	*Timer1Control 	= 0x20;	*Timer1Load		= 76205;	*Timer1BGLoad	= 76205;	  	*Timer1Control 	= 0xa0;    	DRV_VIC_Enable( INT_TMR1_2, TRUE);#if 0	T_CISR cisr;		/* %jp{妱傝崬傒僒乕價僗儖乕僠儞惗惉} */	cisr.isratr = TA_HLNG;	cisr.exinf  = 0;	cisr.intno  = INT_TMR1_2;	cisr.isr    = (FP)TMR_ms_isr;	acre_isr(&cisr);	ena_int(INT_TMR1_2);    	/* %jp{僞僀儅摦嶌奐巒} */	*Timer1Control 	= 0x66;	*Timer1Load		= 75938;	//about 10ms	*Timer1BGLoad	= 75938;	  	*Timer1Control 	= 0xe6;#endif}unsigned long g_msCounter = 0;void TMR_ms_isr(void){	*Timer1IntClr = 1; 	*((volatile UW *)0x10140030) = 0x00000000;	g_msCounter+=TIMER_STICK;}unsigned long SetTimeout(unsigned long ms){	return g_msCounter + ms;}void ReSetTimeCounter(){	g_msCounter = 0;}int CheckTimeout(unsigned long timeout){	if(g_msCounter> timeout)		return 1;	return 0;}void DisableTMR(void){	DRV_VIC_Enable( INT_TMR1_2, FALSE);		*Timer1Control 	= 0x66;}unsigned long GetmsTimer(void){	return g_msCounter;}void Sleep(int ms){	unsigned long start_time = GetmsTimer();	while( (start_time+ms) > GetmsTimer() );}

⌨️ 快捷键说明

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