This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

6657UPP只能进一次中断的问题求解???



大家好:

我调试6657UPP的接收 查询方式通过 采集的图像也正确

改为中断方式时 在中断服务中只能进第一次中断 之后中断就进不去了 中断服务如下 大家看一下 有什么问题:

interrupt void upp_isr()
{
int i;

/* Disable the CIC out for interrupt processing */
CIC_Regs->HINT_ENABLE_CLR_INDEX_REG = uiCIC_out_num+1;

// Interrupt from UPP
if(CIC_Regs->RAW_STATUS_REG[CSL_INTC0_RPINT>>5] & (1<<(CSL_INTC0_RPINT%32)))
{
CIC_Regs->STATUS_CLR_INDEX_REG = CSL_INTC0_RPINT;//清CIC中断

CSL_FINST(uppRegs->UPPCR, UPP_UPPCR_EN, DISABLE);//关闭UPP 需不需要???屏蔽试了也不行

upp_int_clear(upp_int_EOWI);//清EOWI事件

while(CSL_FEXT(uppRegs->UPIS2, UPP_UPIS2_PEND) == 0)//判PEND 给DMA从新赋值
upp_dma_prog(UPP_DMA_CHAN_I, (void *)rcvBuffer, LINECNT, XFERSIZE / LINECNT, XFERSIZE / LINECNT);

CSL_FINST(uppRegs->UPPCR, UPP_UPPCR_EN, ENABLE);//打开UPP 需不需要???屏蔽试了也不行

}

/* Enable the CIC out when finish interrupt processing */
CIC_Regs->HINT_ENABLE_SET_INDEX_REG = uiCIC_out_num+1;

}


另外 UPP的传输是通过DMA 速度应该很快 但实际中从开始执行到进入中断感觉挺慢的 不知怎么回事???

请给个解答!!!

  • 问题解决 需要在中断服务中加 uppregs–>UPEOI=0; 但upp接收速度依然很慢 我接收的是一个640×480的图像 时钟25M 什么问题??? 和仿真器的接口速度有关系没 我用的是xds200???