关于中断的问题已经可以debug仿真但不能正确运行,急,在线等
- UID
- 143934
- 性别
- 男
|
关于中断的问题已经可以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 仿真完全正确,但下到片子里后却不能正确运行,没有进入中断处理函数的迹象
求教各位大侠这是怎么回事?
多谢多谢 |
|
|
|
|
|
- UID
- 126356
- 性别
- 男
|
|
|
|
|
|
- UID
- 143934
- 性别
- 男
|
似乎进行了一次中断后就不再进行中断了
原来希望在led上显示1-255的2进制数,结果只显示了1就不再变化了
B口接到led上 |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
既然你可以将程序下的片子里,那应该也能仿真调试吧。调试一下程序到底是怎么跑的,有没有进中断? |
|
|
|
|
|
- UID
- 133778
- 性别
- 男
|
temp=PORTB;
temp++;
PORTB=temp;
我觉得可能是这有问题,你可以试试其他得检测方法 |
|
|
|
|
|
- UID
- 144631
- 性别
- 男
|
你好,我这里有能用的样例程序,给我你的邮箱,回头发给你。
顺便问一句:是飞思卡尔大赛的么? |
|
|
|
|
|
- UID
- 144198
- 性别
- 男
|
用软件仿真,速度太慢,而硬件速度快,如果在软件上仿真可以观察到快速的变化,在硬件上很可能观察不到。
|
|
|
|
|
|
- UID
- 144198
- 性别
- 男
|
用软件仿真,速度太慢,而硬件速度快,如果在软件上仿真可以观察到快速的变化,在硬件上很可能观察不到。你可以把数值变化设置的慢一点,试一下。
|
|
|
|
|
|