my_timer.c

来自「2410bios 实现简单功能 裸板传输 跑马灯 定时器」· C语言 代码 · 共 58 行

C
58
字号
#include "def.h"
#include "2410addr.h"
#include "2410lib.h"
#include "2410slib.h"
#include "mmu.h"
#include "uart.h"
#include "timer.h"
#include "39vf160.h"
#include "LCD.h"
#include "PowerManage.h"

/*****************************
用time2做一秒中断,每秒打印
*****************************/

void timer_init()
{		
	//SetSysFclk(FCLK_96M);
	printf("%d\n");
	
	EnableIrq(BIT_TIMER2);
	rTCNTB2 =96000000 / 120 / 16;
	
	rTCFG0 &=0xFF;		//8位预分频
	rTCFG0 |=119<<8;
	
	rTCFG1 &= ~(0xf00 | 0xf<<20);		//分割器 1/16
	rTCFG1 |=0x3<<8;
	
	rTCON &= ~(0xf<<12);	//取反器位禁止
	rTCON |= 0xb<<12;			
	rTCON &= ~(1<<13);		//手动更新清零
	
//	rTCMPB2 =rTCNTB2 * 0.5;
}

void __irq timer_service()
{
	static int flag = 1;
	for(;flag <10;flag++)
	{
		printf("interrupt %d\n",flag);
	}
	
	printf("interrupt OK\n");
	
	ClearPending(BIT_TIMER2);
	DisableIrq(BIT_TIMER2);
}








⌨️ 快捷键说明

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