本人刚刚接触ARM不久,用的是ADS,买的周立功家AK100接硬件。
想用T0做0.5s定时中断,VPB时钟为11.0592M:
void Time0Init(void)
{
T0CTCR=0x00;
T0PR=49;
T0MCR=0x03;
T0MR0=110592;
T0TC=0;
T0PC=0;
T0IR=0x01;
T0TCR=0x02;
T0TCR=0x01;
VICIntSelect=0x00000000;
VICVectCntl0=0x24;
VICVectAddr0=(uint32)IRQ_Time0;
VICIntEnable|=0x00000010;
}
这个T0设置应该是没问题的吧!
然后我用最简单的蜂鸣器做中断实验:
void IRQ_Time0(void)
{short k;
kk++;
T0IR=0x01;
if(k)
{ FIO0SET|=BEEP;
k=0;}
else
{ FIO0CLR|=BEEP;
k=1;}
T0IR=0x01;
VICVectAddr=0x00;
}
kk是全局变量,在主程序里调用T0设置前置0.
怎么运行都只进一次中断。是哪里的问题呢?望高手解答!不胜感激!
[此贴子已经被作者于2009-6-11 14:13:20编辑过]
想问问楼主用的是ARM?
ARM7!飞利浦的IC,LPC2103
有人跟我说有可能是我用ADS调试所以才出现这个问题,那有好的解决方法吗?
[此贴子已经被作者于2009-6-11 13:56:05编辑过]
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |