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

📄 os_timer0.c

📁 AD7843在ADS1.2环境下的一个驱动程序
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               广州微嵌计算机科技有限公司
**
**                                 http://www.wqlcd.com
**
**------------------------------------------------------------------------------------------------------
** 创建人: 	陈华牧
** 版  本: 	V1.0
** 创建日期:2007年1月18日
** 发布日期:2007年3月15日
********************************************************************************************************/


#include "44B.H"
#include "ucos_ii.h"               /* uC/OS interface */


#define Timer0_Update (0x1 << 1)
#define Timer0_Start  (0x1)


#define	_TICK	1000			//  1/1000 sec
//#define _TICK	300				//  1/300 sec
//#define _TICK	100					//  1/100 sec

#define _CLOCK	(25000/_TICK)		//MCLK = 60M; Timer0CLK = 25000Hz

static void OSTimer0Int_Init(void)
{
    unsigned int kc;
    kc = 0xffffff & (((unsigned int) OSTickISR - (unsigned int)ISR_TIMER0-8)>>2);
    *(unsigned int*)ISR_TIMER0 = 0xEA000000 |kc ;
}

void OSTimer0_Init(void)
{
	rTCFG0 &= ~(0xff0000ff);
	rTCFG0 |= (0x95);				//dead zone=0,Timer0预分频->150;
	rTCFG1 &= ~(0x0f<<24 | 0x0f);	//all interrupt,
	rTCFG1 |= (0x03);				//Timer0分割器->1/16;MCLK = 60M; Timer0CLK = 25000Hz	
	rTCON &= ~(0x0f);			
	rTCON |= (0x08);				//Timer0: auto load->Enable
	rTCNTB0= _CLOCK;				//Timer0 初值;
	rTCON |= Timer0_Update;			//装载定时器初值;
	rTCON &= ~Timer0_Update;
	OSTimer0Int_Init();
}

void OSTimer0_On(void)
{
	rI_ISPC = BIT_TIMER0;			//清除中断标志
	rINTMSK &= ~BIT_TIMER0;			//Timer0 interrupt enable;
	rTCON |= Timer0_Start;			//启动定时器0
}

void OSTimer0_Off(void)
{
	rTCON &= ~Timer0_Start;			//启动定时器0
	rINTMSK |= BIT_TIMER0;			//Timer0 interrupt disable;
	rI_ISPC = BIT_TIMER0;			//清除中断标志
}

⌨️ 快捷键说明

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