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

关于中断的问题已经可以debug仿真但不能正确运行,急,在线等

关于中断的问题已经可以debug仿真但不能正确运行,急,在线等

代码如下


#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */


#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
 void RTI_Init(void);


#pragma CODE_SEG NON_BANKED
 
interrupt   7 void RTI_int(void) {
    short temp;
    CRGINT_RTIE=0;
    temp=PORTB;
    temp++;
    PORTB=temp;
    CRGFLG_RTIF=1;
    CRGINT_RTIE=1;
 }
#pragma CODE_SEG DEFAULT    


void RTI_Init(void) {
  RTICTL=0x7f;
  CRGINT=0x80; //49hz
}
 
void main(void) {
    DDRB=0xff;
    PORTB=0x00;
    RTI_Init();
    EnableInterrupts;
    while(1){
 };
}
  用的是9S12DG128B的片子,以上程序在W3.1中用Debug 仿真完全正确,但下到片子里后却不能正确运行,没有进入中断处理函数的迹象


  求教各位大侠这是怎么回事?


多谢多谢

你说的是程序不应呢?还是运行但不合你的设计功能?

你说的是程序不应呢?还是运行但不合你的设计功能?
-
似乎进行了一次中断后就不再进行中断了
原来希望在led上显示1-255的2进制数,结果只显示了1就不再变化了
B口接到led上
既然你可以将程序下的片子里,那应该也能仿真调试吧。调试一下程序到底是怎么跑的,有没有进中断?
海纳百川  有容乃大
temp=PORTB;
temp++;
PORTB=temp;
我觉得可能是这有问题,你可以试试其他得检测方法
你好,我这里有能用的样例程序,给我你的邮箱,回头发给你。
顺便问一句:是飞思卡尔大赛的么?
用软件仿真,速度太慢,而硬件速度快,如果在软件上仿真可以观察到快速的变化,在硬件上很可能观察不到。
不会就问
用软件仿真,速度太慢,而硬件速度快,如果在软件上仿真可以观察到快速的变化,在硬件上很可能观察不到。你可以把数值变化设置的慢一点,试一下。
不会就问
返回列表