TI中文支持网
TI专业的中文技术问题搜集分享网站

DM6437 DVINT1中断问题

首次使用C6000系列的DSP,好不容易解决了DM6437的VPBE 和 VPFE采集和显示图像。

可是奇怪的是当我开启中断的时候,似乎INTC 不接受DVINT1的事件(25号),当我把 INT4 选择为EVT4时能够正常产生中断,调试时终端能看到输出,可是当我把INT4选择为EVT25时,不能产生中断,我甚至将EVT25手动置位也没触发中断,到底怎么回事呢?以下是我的初始化设置:

//初始化中断
void int_init()
{
CSR=0x100; //disable all interrupts
IER=0x00; //disable all interrupts except NMI
ICR=0xffff; //clear all pending interrupts
ISTP = 0x10810000; //C64X+ VECTORS 指向VECT段需设置ISTP,ISTP=。cmd中设置中断向量表的地址
INTC_EVTCLR0 = 0xFFFFFFFF;
INTC_EVTCLR1 = 0xFFFFFFFF;
INTC_EVTCLR2 = 0xFFFFFFFF;
INTC_EVTCLR3 = 0xFFFFFFFF;
INTC_EVTMASK3 = 0xFFFFFFFF;
INTC_EVTMASK2 = 0xFFFFFFFF;
INTC_EVTMASK1 = 0xFFFFFFFF;
INTC_EVTMASK0 = 0xFFFFFFFF;

INTC_INTMUX1 = VDINT1_EVENT;
INTC_INTMUX2 = 0;
INTC_INTMUX3 = 0;
//INTC_INTMUX3 = VDINT1_EVENT;// ->INT4

IER |= (1 << 4);
CSR |= 1;
}

主函数部分:

while(1)
{
_waitusec(1000000);
INTC_EVTSET0 = 1 << VDINT1_EVENT;
if(flag)
{
flag = 0;
printf("flag is set !\n");
}
}

yao liu1:

似乎发现了点问题,当我把VDINT设置为0可以中断,难道EVTSET 不管用?

赞(0)
未经允许不得转载:TI中文支持网 » DM6437 DVINT1中断问题
分享到: 更多 (0)