找回密码
 注册
搜索
查看: 1096|回复: 7

[讨论] 关于中断问题!!!!

[复制链接]
发表于 2008-4-18 09:30:18 | 显示全部楼层 |阅读模式
SUBSRCPND的清零方式和SRCPND的方式该是一样的么?
那么好
对SRCPND直接写0就达到了清零效果,那么为什么我对SUBSRCPND做相同处理的时候并没效果呢?
 楼主| 发表于 2008-4-18 14:47:17 | 显示全部楼层
大哥大姐们[em10]
好吧,我不清零了好么,我把他屏蔽掉了好么[em10]
中断处理怎么乱跳呢?跳到我都不知道跳到什么地方了....
这会是哪方面出问题了呢?
点评回复

使用道具 举报

 楼主| 发表于 2008-4-19 09:57:58 | 显示全部楼层
我还就不信了没人理我了[em10]
别沉了就OK[em10]
我猜想是没找到我需要的IRQ跳转
那么是什么地方的毛病呢?中断向量安装还是别的什么?望达人指教!
点评回复

使用道具 举报

 楼主| 发表于 2008-4-21 11:39:27 | 显示全部楼层
对RD都不热心了,看来这论坛真的秋后蚂蚱,蹦不了几天了[em10]
点评回复

使用道具 举报

 楼主| 发表于 2008-4-25 13:38:46 | 显示全部楼层
我是彻底的失望了啊....
点评回复

使用道具 举报

发表于 2008-4-26 14:39:43 | 显示全部楼层
楼主讲了这么多也没明白你是什么意思,先说一下中断执行完后的处理流程, 某一个中断被处理完之后,必须手动地把SRCPND/SUBSRCPND , INTPND三个寄存器中与该中断相应的位由1设置为0,INTPND的操作不是往该位置0,而是往该位置1。手册上有阿,如果你的问题不是这个的话可以继续交流~~~
就是这个样子~~~
点评回复

使用道具 举报

 楼主| 发表于 2008-4-28 11:13:26 | 显示全部楼层
问题是这样的,关于中断方面的条件满足,只是跳转的时候出现了跳转地址不对的情况!
也就是说没有进入到   IRQ的处理.
谢谢指条路走[em10]
点评回复

使用道具 举报

发表于 2008-4-28 16:27:59 | 显示全部楼层
#######################################################
        IMPORT  HandlerReset
        IMPORT        HandlerEINT0
                IMPORT        HandlerEINT1
                IMPORT        HandlerEINT2
                IMPORT        HandlerEINT3
                IMPORT        HandlerEINT4567
                IMPORT        HandlerIRQ
                IMPORT        HandlerFIQ
        EXPORT  RStartup

        AREA    startup,CODE,READONLY
        CODE32
        ENTRY
RStartup
        LDR     PC,     =HandlerReset                   ; 程序入口            
        B       .                                      
        B       .                                      
        B       .                                       
        B       .                                       

        B       .   

                                b HandlerIRQ                              ; 0x18中断向量列表
                b HandlerFIQ ; 0x1c
                ldr pc,=HandlerEINT0 ; 0x20
                ldr pc,=HandlerEINT1
                ldr pc,=HandlerEINT2
                ldr pc,=HandlerEINT3
                ldr pc,=HandlerEINT4567
               
        LTORG
########################################################
中断初始化程序

void InitInt (void)
{
#define  V      0       // 0 = Vectored interrupt mode 1 = Non-vectored interrupt mode
#define  I      0       // 0 = IRQ interrupt enable
#define  F      1       // 0 = FIQ interrupt enable (Not allowed vectored interrupt mode) 1 = Reserved
    INTCON = ((V<<2)+(I<<1)+F);

//               EINT0   EINT1   EINT2   EINT3  EINT4567  TICK   ZDMA0   ZDMA1   BDMA0   BDMA1   WDT   UERR0/1   TIMER0  TIMER1  TIMER2  TIMER3  TIMER4 TIMER5  URXD0  URXD1  IIC  SIO     UTXD0  UTXD1  RTC   ADC.
// 0 = IRQ mode 1 = FIQ mode
    INTMOD   = ((0<<25)+(0<<24)+(0<<23)+(0<<22)+(0<<21)+(0<<20)+(0<<19)+(0<<18)+(0<<17)+(0<<16)+(0<<15)+(0<<14)+(0<<13)+(0<<12)+(0<<11)+(0<<10)+(0<<9)+(0<<8)+(0<<7)+(0<<6)+(0<<5)+(0<<4)+(0<<3)+(0<<2)+(0<<1)+0);
// 0 = Service available 1 = Masked
    INTMSK   = ((0<<26)+(0<<25)+(0<<24)+(0<<23)+(0<<22)+(0<<21)+(0<<20)+(1<<19)+(1<<18)+(1<<17)+(1<<16)+(1<<15)+(1<<14)+(1<<13)+(1<<12)+(1<<11)+(1<<10)+(1<<9)+(1<<8)+(1<<7)+(1<<6)+(1<<5)+(1<<4)+(1<<3)+(1<<2)+(1<<1)+1);

// IRQ priority of slave register
    I_PSLV = 0x1b1b1b1b;
// IRQ priority of master register
    I_PMST = 0x00001f1b;
// IRQ interrupt service pending clear register
    I_ISPC = 0xffffffff;//I_ISPR;                            // Clear all pending.
// FIQ interrupt service pending clear register
    F_ISPC = F_ISPR;                            // Clear all pending.

    EXTINTPND = 0x0f;                           // External(4,5,6,and 7) interrupt pending Register. cleared by writing 1.
}
###########################################################
设置CPSR允许中断       
MSR     CPSR_c, #0x013
############################################################






不知道你用的哪一款ARM~~~
就是这个样子~~
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-7 20:30 , Processed in 0.077698 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表