首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

44B0定时器5不产生中断有关问题

2012-02-10 
求助:44B0定时器5不产生中断问题~我在程序中使用定时器5进行定时调用AD采样函数,可是定时器一直无法启动,

求助:44B0定时器5不产生中断问题~
我在程序中使用定时器5进行定时调用AD采样函数,可是定时器一直无法启动,程序如下,还请高手们指出错误之处

void Time5IntTest(void)
{
 rTCON = 0xffffff; // 000 不自动重载(反转模式)|不更新TCNTB5|停止定时器5
 rTCFG0 = (rTCFG0 & 0xff00ffff)|(0x80<<16); //预分频值128
 rTCFG1 = (rTCFG1 & 0xfffff)|(0x3<<20); //分割值1/16
 rTCNTB5=65536; //设置定时器的初始值
 rTCON = 0x2ffffff; //010 更新TCNTB5
 rTCON = 0x5ffffff; //101 自动重载|停止更新TCNTB5|开启定时器5
}
void __irq AD_start(void)
{
 rI_ISPC=BIT_TIMER5; //清除TIMER5中断请求服务位
  ...
}

main()
{
 rINTCON = 0x5; 
 rINTMOD = 0x0; //ALL IRQ MODE
 rINTMSK = ~(BIT_TIMER5|BIT_GLOBAL);
 pISR_TIMER5=(unsigned)AD_start;
 Time5IntTest();
 while(1);
}

[解决办法]
你可以在中断里面直接修改一个led灯的显示,看看是不是真的不进中断呐。。。也有可能你中断里面做了一个操作死在里面了。。。。
另外,你使用的是非向量中断,最后自己看一下你的启动代码是不是写的有问题。。。你还是直接下载一个demo吧。。上英贝特或者优龙,应该很多demo的。

热点排行