首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

中断设置探讨[求助]

中断设置探讨[求助]

下面的程序实现1秒中断,每次进入中断程序取反PTC口,但硬件仿真时发现并无中断产生 百思不得其解,请大侠指点!! 硬件平台:飞思卡尔送的GP32仿真版,使用ICS MON08接口调试 另外,为何在LINE.PRM中无法找到中断向量表; 只找到这样的相应语句: VECTOR 0 _Startup 不知如何理解??? #include /* for EnableInterrupts macro */ #include /* include peripheral declarations */ //有关寄存器位定义 #define TSTOPBit 5 //定时器计数停止位 #define TOFBit 7 //定时器溢出标志位 //函数声明 void Timer1init(void); //定时器初始化 void main(void) { EnableInterrupts; /* enable interrupts */ /* include your code here */ asm("SEI"); //关总中断 Timer1init(); //调定时器1初始化子程序 asm("CLI"); //开总中断 DDRC=0XFF; //PTC口定义为输出 PTC=0X00; //PTC输出低电平 for(;;) { __RESET_WATCHDOG(); /* feeds the dog */ } } void Timer1init(void){ //允许溢出中断、不启动计数、分频因子=64 T1SC=0b01100110; //计数寄存器初值=0x0000 T1CNTH=0x00; T1CNTL=0x00; //1秒产生1次溢出中断,计数寄存器=1×(2457600/64)=OX9600 T1MODH=0x96; T1MODL=0x00; //允许定时器1计数寄存器计数 T1SC&=~(1<
充满热情地做每一件事情!
中断号错了吧?
换成 6 试试
或不用interrupt,直接写
VECTOR ADDRESS 地址  函数名
对,是中断号错了.换了6,OK
唉!!手头资料少,没办法!!
充满热情地做每一件事情!
返回列表