LPC2103 定时中断进不去 麻烦大家给看看

VNROOY 2011-11-07 10:45:29
#include "INC\config.h"
//#include "INC\LPC2103.h"


void __irq IRQ_Exception(void)
{
/*进行LED的取反控制*/
if((IO0SET&(1<<0))==0)IO0SET=(1<<0); //控制LED点亮
else IO0CLR=(1<<0); //控制LED熄灭
T0IR=0x01; //清除中断标志
VICVectAddr=0x00; //通知VIC中断处理结束
}

int main(void)

{
IO0DIR = 1<<0;
IO0SET = 1<<0;
IO0CLR = 1<<0;
T0PR = 99;
T0MCR = 0x03;
T0MR0 = 120000/20;
T0TCR = 0x01;

VICIntSelect = 0x00;
VICVectCntl0=0x24;
VICVectAddr0 = (unsigned int)IRQ_Exception;
VICIntEnable=0x00000010;
while(1);
}


另外 我用的IAR编译 提示说“__irq”不能这样声明。
...全文
66 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangboone 2011-11-07
  • 打赏
  • 举报
回复
没用过这个芯片。
__Isr是非ANSI C的语法,它属于扩展关键字,每个编译器都可能不一样。你可以看它的帮助文档。
IAR的编译器很多用__interrupt。
q1017773959 2011-11-07
  • 打赏
  • 举报
回复
同求助~~~~
woshi_ziyu 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 vnrooy 的回复:]
#include "INC\config.h"
//#include "INC\LPC2103.h"


void __irq IRQ_Exception(void)
{
/*进行LED的取反控制*/
if((IO0SET&(1<<0))==0)IO0SET=(1<<0); //控制LED点亮
else IO0CLR=(1<<0); ……
[/Quote]

#pragma vector=USART0RX_VECTOR //具体情况设置
__interrupt void IRQ_Exception(void)
{
/*进行LED的取反控制*/
if((IO0SET&(1<<0))==0)IO0SET=(1<<0); //控制LED点亮
else IO0CLR=(1<<0); //控制LED熄灭
T0IR=0x01; //清除中断标志
VICVectAddr=0x00; //通知VIC中断处理结束
}

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧