大家好:
我调试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 速度应该很快 但实际中从开始执行到进入中断感觉挺慢的 不知怎么回事???
请给个解答!!!