打印

S3C44B0外部中断求助:谁能帮忙看看下面的代码怎么进不了中

[复制链接]
2844|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mzhang_dhu|  楼主 | 2009-4-27 22:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚学S3C44B0的中断,想编一个简单的测试程序,怎么搞都进步了中断,希望高手能帮帮忙啊,头都大了。以下是程序:
#include "44b.h"
#include "44blib.h"
#include "def.h"
#include "option.h"

// 若外部中断,即输出“Interrupt”

void __irq eint(void)
{

   Uart_Printf("Interrupt ");
   
   rEXTINTPND = 0xf;            
   rI_ISPC |= BIT_EINT4567;   
}


// 中断初始化

void init_int(void)
{
 rI_ISPC    = 0x07ffffff;    //  清所有中断
 rEXTINTPND = 0xf;
 rINTMOD    = 0x0;
 rINTCON    = 0x1;
 rINTMSK    = ~(BIT_GLOBAL|BIT_EINT4567);
 
 pISR_EINT4567 = (int)eint;
 
 rPCONG        = 0xffff;       // G口配置
 rPUPG         = 0x0;
 rEXTINT       = 0x22220020;

 rI_ISPC       |= BIT_EINT4567;  //  清外部中断4567
 rEXTINTPND    = 0xf;


}



int main()
{
  
  rSYSCFG = CACHECFG;
  Uart_Init(MCLK,115200);
  Uart_Select(0);
  init_int();
  while(1);  
}

不知道以上的程序哪里出问题了,引导程序用的是三星提供的44binit.s,中断向量表应该已经配置好了,程序总是跑飞了,郁闷。。。。。。

相关帖子

沙发
arm4u| | 2009-4-29 12:32 | 只看该作者

要测试就先用定时中断测试嘛

开始学习就测试外部中断搞不好都不知道你硬件有没有问题

使用特权

评论回复
板凳
ruchong001| | 2009-4-29 19:47 | 只看该作者

我也有同样问题啊,

大哥,您这个rINTCON    = 0x1是啥意思啊?

使用特权

评论回复
地板
mzhang_dhu|  楼主 | 2009-4-29 20:33 | 只看该作者

谢谢大家

rINTCON =0x1是中断采用向量方式中断。后来我设置成rINTCON = 0x5,即改为非向量中断,程序改变一下后,可以进入中断了。但对于在向量模式下为什么不能进入中断还是有疑惑啊。

使用特权

评论回复
5
jzdata| | 2009-5-7 11:29 | 只看该作者

s3c44b0x 好多代码可以参考哦。

使用特权

评论回复
6
qiao1102| | 2009-5-10 13:47 | 只看该作者

eee

    楼上的建议好,先用定时中断测试。还应该搞清楚中断是如何从0x18处进入到你的中断服务子程序的!!!!
    

使用特权

评论回复
7
luhuaren| | 2009-5-10 20:31 | 只看该作者

re

没将中断向量烧到FLASH里去,当然跑飞了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

66

帖子

0

粉丝