TIMER

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-29 00:05   28   0

#define _ISR_STARTADDRESS 0x33ffff00
#define pIsr_Timer (*(unsigned *)(_ISR_STARTADDRESS+0x48)) //中断向量的地址

2440 (Timer0):

void Timer_Init()
{
rINTMSK &=(~1<<10); // 打开中断
pIsr_Timer = (U32)MyTimer;
rTCFG0 &= ~0xff;
rTCFG0 |= 15; //prescaler = 15+1
rTCFG1 &= ~0xf;
rTCFG1 |= 2; //mux = 1/8
rTCNTB0 = (PCLK>>7)/1000-1;
rTCMPB0 = rTCNTB0>>1; // 50%
rTCON &= ~0x1f;
rTCON |= 0xb; //disable deadzone, auto-reload, inv-off, update TCNTB0&TCMPB0, start timer 0
rTCON &= ~2; //clear manual update bit
}

void __irq MyTimer()
{
dosomething();
}
MMU_Init();必须在main中添加,弄了好久 后来发现someone的blog。。。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP