打印
[ZLG-ARM]

timer0中断程序

[复制链接]
1128|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
irisjyf|  楼主 | 2009-10-12 20:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个是我的timer0中断程序,可是不能正常运行,为什么?各位个看看:
int main()
{
PINSEL4=PINSEL4&0xFFFF0000;  //P2.0-2.7为IO
FIO2DIR=0xFFFFFFFF;//配置方向输出
FIO2CLR=0xFFFFFFFF;
ledstate=0xf;
VICSet();
initTimer0();
while(1);
return 0;
}
void irq_timer0(void) __irq
{
  FIO2SET=0x0F;//测试中断程序运行
   T0IR=0x01;//清除中断标志
   VICVectAddr=0x00;//通知VIC中断处理结束
}
void initTimer0(void)
{
T0TC=0;//设置定时器为0
T0PR=0;//不分频
T0MCR=0x03;//T0复位,产生中断
T0MR0=Fpclk/2;//0.5秒定时
T0TCR=0x01;//启动定时器
}
void VICSet(void)
{
VICIntSelect=0x0;//设置所有中断为IRQ中断
VICVectCntl0=0x20 | TIMER0_INT;//分配中断timer0到通道0
VICVectAddr0=(DWORD)irq_timer0;
VICIntEnable=1<<TIMER0_INT;//使能中断  
}

相关帖子

沙发
irisjyf|  楼主 | 2009-10-12 20:58 | 只看该作者
我用的芯片是LPC2368用的是mcb2300的开发板

使用特权

评论回复
板凳
irisjyf|  楼主 | 2009-10-12 20:59 | 只看该作者
并在启动程序时保证I,F位为0,可以响应irq中断

使用特权

评论回复
地板
irisjyf|  楼主 | 2009-10-12 23:35 | 只看该作者
看了一位网友的blog,终于了解到2368的中断地址是和他的中断号相同的。所以上面的中断地址为
VICVectAddr04=(DWORD)irq_timer0;
然后运行正常;再次感谢

使用特权

评论回复
5
稳定分析| | 2009-10-25 12:35 | 只看该作者
呵呵,千人云集啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

12

帖子

0

粉丝